处理来自另一个类的事件(java)

时间:2017-05-29 15:16:22

标签: java swing events

我正处于停滞状态,正在开发一个java应用程序。 我有一系列相互打开的JFrame,一旦打开下一个,之前的帧就会关闭。 现在,一切正常,我用

setVisible(false);

to" close"框架,但我生成的特定表单有一些问题: 表格内部有一些面板,每个面板都有一个按钮,可打开下一个表格。现在,我想知道如何将setVisible(false)应用于包含这些面板的表单。

ChooseForm 是包含面板的表单的名称; 我有这个事件处理按钮点击每个面板的按钮

private void btn_scegliMouseClicked(java.awt.event.MouseEvent evt) {                                        
    Database.getAbitazioneByCodice(label_codice.getText());
    MainForm.showFrame();

} 

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点。 您可以这样做的简单方法:

class YourFrame extends JFrame implements ActionListener {

    private YourPanel panel;

    public YourFrame() {
        //...
        panel.addButtonActionListener(this);
    }

    public void actionPerformed(ActionEvent e) {
        //show other Frame and hide this Frame
    }
}
class YourPanel extends JPanel {
    private JButton yourButton;

    public void addButtonActionListener(ActionListener listener) {
        yourButton.addActionListener(listener);
    }
}