Вопрос

Я создал в моем приложении Java Swing главное окно с jbutton. Я добавил к этой кнопке класс прослушивателя событий (реализующий интерфейс ActionListener), который, каждый раз, когда кнопка нажала, запускает «всплывающее окно». Способ работает нормально, когда кнопка нажала, за исключением того, что кнопка нажала в первый раз, так как это ничего не делает. Кто-нибудь знает причину такого поведения?

Это было полезно?

Решение

Проще говоря, возможно, предоставить AbstractAction. Отказ Вы можете попробовать подход, указанный ниже. (Это показывает всплывающее окно, когда кнопка нажала.)

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);
    }
}

Другие советы

Размещение кода обработчика событий, а также о том, как вы прикрепляете его к кнопке, может помочь. Возможно, вы хотели бы посмотреть на это Солнце Учебное пособие

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top