Question

Je l'ai créé dans mon application Java Swing une fenêtre principale avec un JButton. J'ai ajouté à ce bouton une classe d'écouteur d'événement (qui implémente l'interface ActionListener) qui, chaque fois que le bouton est cliqué, lance une fenêtre « pop-up ». La méthode fonctionne bien lorsque le bouton est cliqué, sauf lorsque le bouton est cliqué pour la première fois, comme il ne fait rien. Est-ce que quelqu'un sait la raison derrière un tel comportement?

Était-ce utile?

La solution

Une façon plus simple est peut-être de fournir un AbstractAction. Vous pouvez essayer l'approche décrite ci-dessous. (Il montre une fenêtre pop-up lorsque le bouton est cliqué.)

import java.awt.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
public class FrameTest {
    public static void main(String[] args) {
        JFrame jf = new JFrame("Demo");
        Container cp = jf.getContentPane();
        cp.setLayout(new FlowLayout());
        cp.add(new JButton(new AbstractAction("Button Text") {
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(null, "Hello World");
            }
        }));
        jf.setSize(200, 200);
        jf.setVisible(true);
    }
}

Autres conseils

Affichage du code du gestionnaire d'événements, ainsi que la façon dont vous attachez au bouton pourrait vous aider. Vous pouvez jeter un coup d'œil à ce Sun Tutorial

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top