在JDialog中为动态创建的按钮添加动作

时间:2015-07-29 10:53:47

标签: java swing

我创建并添加了一个JDialog按钮,如下所示:

JDialog dialog = new JDialog();
dialog.setLayout(new GridLayout(6, 1));
dialog.add(new JButton("test"));

这会添加按钮JDialog。但无论如何我可以添加ActionListener吗?

我知道如果我自己创建一个全新的按钮,这是可能的:

JButton button = new JButton("test");
button.addActionListener....
dialog.add(button);

但我想知道如果没有这个我能做到。

到目前为止,我已达到dialog.getRootPane().getContentPane().getComponent(1)这一点,但在此处不知道如何实现actionListener。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我认为在初始化JButton时没有办法添加监听器。

初始化按钮并添加监听器将按照您的说法进行。

另一方面,您可以使用实用程序方法创建一个带有侦听器的JButton,如下所示。

dialog.add(getButton("Test", new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent arg0) {
        // Action Logic
    }

}));

private JButton getButton(String name, ActionListener listener) {
    JButton button = new JButton(name);
    button.addActionListener(listener);

    return button;
}
相关问题