如何为swing中的按钮创建点击事件?

问题描述 投票:0回答:5

我的任务是检索文本字段的值并在单击按钮时将其显示在警报框中。如何在 Java Swing 中生成按钮的单击事件?

java swing jbutton
5个回答
65
投票

为此,您需要使用

ActionListener
,例如:

JButton b = new JButton("push me");
b.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {
        //your actions
    }
});

要以编程方式生成点击事件,您可以使用 doClick()

JButton
 方法: 
b.doClick();


10
投票

首先,使用一个按钮,为其分配一个 ActionListener,在其中使用 JOptionPane 来显示消息。

class MyWindow extends JFrame {

    public static void main(String[] args) {

        final JTextBox textBox = new JTextBox("some text here");
        JButton button = new JButton("Click!");
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(this, textBox.getText());
            }
        });
    }
}

8
投票

您还可以使用 lambda 函数:

JButton button = new JButton("click me");
button.addActionListener(e ->
{
    // your code here
});

但是,如果您指的是 Qt 中的信号和槽,那么 Swing 不支持这一点。但您始终可以使用“观察者”模式自己实现此操作(link)。


1
投票
public GUI() {
    JButton btn1 = new JButton("Click me!");
    add(btn1);

    btn1.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            //action for the button
        }
    });
}

0
投票
JButton jEightButton=new JButton();
    

jEightButton.addActionListener(this);

public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    
    jframe.getContentPane().setBackground(Color.blue);
}
© www.soinside.com 2019 - 2024. All rights reserved.