Avatar billede zubmit Nybegynder
30. april 2003 - 14:19 Der er 22 kommentarer og
1 løsning

En Applet Cæose Button?

Kære Eksperter

Hvordan laver man en Applet close button?
er det ikke noget i den her stil:

import java.applet.*;
import java.awt.*;

public class CloseButton extends Applet {
Button Close;
public void init() {
Close = new button("Close");

Close.addActionsListener(this)
}
public void ActionListerne(Event vupti) {
System.exit(0);
}
}
//stop

Jeg har lige hurtigt skrevet det men er det ikke noget i den stiL?
Jeg har prøvet men det virker bare ikke?

Er der en der vil hjælpe mig?

Tak
Avatar billede =maddog= Nybegynder
30. april 2003 - 14:49 #1
jamen hvad skal den da lukke?
Avatar billede magoo20000 Nybegynder
30. april 2003 - 15:28 #2
Er det browseren du vil lukke?
Avatar billede magoo20000 Nybegynder
30. april 2003 - 15:30 #3
Prøv med:

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import netscape.javascript.JSObject;

class CloseApplet extends Applet
implements ActionListener{
protected Button closeButton = null;
protected JSObject win = null;

public void init(){
this.win = JSObject.getWindow(this);
this.closeButton = new Button("Close Browser Window");
this.add(this.closeButton);
this.closeButton.addActionListener(this);
} // ends init(void)

public void actionPerformed(ActionEvent ae){
this.win.eval("self.close();");
}

} // end class CloseApplet

//////////////////////////////////////////////////////

<HTML>

<HEAD>
<TITLE>Integre Technical Publishing</TITLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF">
<DIV ALIGN="CENTER">
<APPLET WIDTH="150" HEIGHT="30" CODE="CloseApplet.class"
CODEBASE="java/" MAYSCRIPT>
</APPLET>
</DIV>
</BODY>

</HTML>

Søg efter netscape-pakken på Google.

Det virker!
Avatar billede magoo20000 Nybegynder
30. april 2003 - 15:30 #4
Avatar billede zubmit Nybegynder
30. april 2003 - 16:19 #5
Kan man ikke lukke den uden det der javascript eller hvad det nu er?
Avatar billede zubmit Nybegynder
30. april 2003 - 16:20 #6
Og den skal bare lukke applet vinduet
Avatar billede magoo20000 Nybegynder
30. april 2003 - 18:42 #7
Ok. Her er svaret!

import java.applet.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class CloseApplet extends Applet implements ActionListener {
    Button close;

    public void init() {
        setLayout( new BorderLayout() );
        close = new Button( "Close" );
        close.addActionListener( this );
        add(close);

    }

    public void actionPerformed( ActionEvent vupti ) {
        if ( vupti.getSource() == close ) {
            System.exit( 0 );
        }

    }
}
Avatar billede zubmit Nybegynder
30. april 2003 - 20:48 #8
magoo der sker intet når man trykker ved knappen?

Hvorfor?
Avatar billede magoo20000 Nybegynder
30. april 2003 - 22:33 #9
Kører du den fra AppletViewer eller en browser? Hvad skal den i øvrigt bruges til?
Avatar billede =maddog= Nybegynder
01. maj 2003 - 04:11 #10
magoo20000> Applettens sikkerheds-model tillader ikke at du kalder System.exit(0). Du nedlægger en Applet og frigør resourcerne med _Applet.destroy();
Altså:
    public void actionPerformed( ActionEvent vupti ) {
        if ( vupti.getSource() == close ) {
            destroy();
        }
    }

Hvis du har ting der skal eksekveres før Appletten lukker kan du overskrive destroy().
Avatar billede magoo20000 Nybegynder
01. maj 2003 - 09:01 #11
Det virker da ellers både fra mit IDE og AppletViewer!?
Avatar billede =maddog= Nybegynder
01. maj 2003 - 09:34 #12
har du prøvet uden for file:// eller localhost domænet?
Avatar billede magoo20000 Nybegynder
01. maj 2003 - 09:44 #13
Nej, og det er sikkert pga. den måde Security Manager'en håndtere localhost på, at det viker her hos mig :-)
Avatar billede zubmit Nybegynder
01. maj 2003 - 12:20 #14
maddog dit eksempel virker heller ikke...?
Jeg køre dem i appletviewer.
Avatar billede martinm Nybegynder
01. maj 2003 - 15:48 #15
Det forstår jeg ikke; der er ingen problemer her!
Avatar billede zubmit Nybegynder
01. maj 2003 - 19:12 #16
Jeg har lavet det i Sun ONE Studio 4
kunne det være noget?
Avatar billede magoo20000 Nybegynder
02. maj 2003 - 13:57 #17
Det burde ikke have noget at sige
Avatar billede zubmit Nybegynder
02. maj 2003 - 16:56 #18
Jeg har java VM kunne det så være noget
Avatar billede arne_v Ekspert
02. maj 2003 - 16:58 #19
Så vidt jeg ved bruger appletviewer'e og IDE'er ikke de rigtige
applet security plocies.

D.v.s. at security skal testes i en browser.
Avatar billede magoo20000 Nybegynder
02. maj 2003 - 17:57 #20
Jeg er stadig lidt i tvivl: I en browser er en applet en komponent - er det den, du vil lukke den eller vil du lukke hele browseren (nej vel)? Vil du lave et applet vindue der popper frem(det, hvor der står warning applet.... i bunden)?
Avatar billede zubmit Nybegynder
02. maj 2003 - 23:59 #21
Jeg har tænkt mig at lave en til et popup vindue.
Avatar billede zubmit Nybegynder
03. maj 2003 - 00:03 #22
Ok her er koden:

import java.awt.*;
import java.applet.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class SampleMenu1 extends Applet implements ActionListener {
   
       
    Frame  frame;
    MenuBar menuBar;
    Menu    file;
    Button  ok;

    public void init() {
    frame  = new Frame();
    menuBar = new MenuBar();
    file    = new Menu("file",true);
        ok      = new Button("Close");
        ok.addActionListener( this );
        ok.setBounds(100, 100, 50, 50);
    menuBar.add(file);
    file.add("Quit");
    frame.setMenuBar(menuBar);
        add(ok);
        frame.show();
    }
   
        public void actionPerformed(ActionEvent e) {
        System.exit(0);
    }
   
}

Hvis der er nogen fejl hvor er de så?
Avatar billede zubmit Nybegynder
03. maj 2003 - 00:07 #23
Nej ups forkert kode
her er den:

import java.awt.*;
import java.applet.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class SampleMenu1 extends Applet implements ActionListener {
   
       
    Frame  frame;
    MenuBar menuBar;
    Menu    file;
    Button  close;

    public void init() {
    frame  = new Frame();
    menuBar = new MenuBar();
    file    = new Menu("file",true);
        close      = new Button("close");
        close.addActionListener( this );
        close.setBounds(100, 100, 50, 50);
    menuBar.add(file);
    file.add("Quit");
    frame.setMenuBar(menuBar);
        add(close);
        frame.show();
    }
   
   
    public void actionPerformed( ActionEvent vupti ) {
        if ( vupti.getSource() == close ) {
            destroy();
        }
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester