Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java Swing

gem [12.05.2006 13:39:35]

#

miten saa JButtoniin toiminnallisuden, eli lopettamaan ohjelman suorituksen kyseistä painiketta painamalla?

eli jos on:

button = new JButton("close");
panel.add(button);
button.addActionListener(this);

public void windowClosed(WindowEvent e){
System.exit(0);
}


Tai jotain tuonne päin...
--Konstit on monet, mutta kun ne eivät toimi

Olga [12.05.2006 13:58:20]

#

Heitetääs koodihatusta jotain:

JButton nappi = new JButton("Loppu");
nappi.addActionListener(new NappiKuuntelija());
add(nappi);

class NappiKuuntelija implements ActionListener {

    public void actionPerformed(ActionEvent e) {
        // tee taikasi tässä
    } // actionPerformed

} // class NappiKuuntelija

Voi olla virhettä, mutta noin pääperiaatteissaan.

gem [12.05.2006 14:03:34]

#

if (e.getSource() == close){
Main.lopetus();

niin mitä siinä pääluokassa pitää olla, kun mainissa

public void windowClosed(WindowEvent e){
System.exit(0);
}

public static void lopetus() {

System.exit(0);

ei toimi? Tai siis mitä "sovellus.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);"
tuon tilalla pitäisi olla? Tuo lienee viitannee siihen yläkulman sulkemisruksiin...

A-P [30.05.2006 13:17:58]

#

Painikkeet tapahtumat kutsuvat actionPerformed-metodia. Luokan on toteutettava ActionListener-rajapinta.

Lisäät luokan määritykseen

public class ... implements ActionListener

gem kirjoitti:

button = new JButton("close");
panel.add(button);
button.addActionListener(this);

public void windowClosed(WindowEvent e){
     System.exit(0);
}

// lisätty
public void  actionPerformed(ActionEvent ae) {
    // tähän voisi lisätä painikkeen tunnistuksen
    System.exit(0);
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta