1

我试图通过单击一个按钮来处理我的 JFrame,该按钮位于一个 JPanel 上,该 JPanel 位于我想要关闭的 JFrame 上。

我试图在 JFrame 类上创建一个静态方法,但当然我的 IDE 告诉我这不会发生。

有人想解决办法吗?

谢谢!

4

2 回答 2

0

试试这个:

public class DisposeJFrame extends JFrame{
    JPanel panel = new JPanel();
    JButton button = new JButton("Dispose JFrame");

    public DisposeJFrame(){
        super();
        setTitle("Hi");
        panel.add(button);
        add(panel);
        pack();

        button.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent arg0) {
                dispose();
            }
        });
    }

    public static void main(String args[]){
        SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                DisposeJFrame jf = new DisposeJFrame();
                    jf.setVisible(true);
            }
        });
    }
}
于 2010-03-01T19:27:54.957 回答
0

做这样的事情:

JButton closeFrameButton = new JButton("Close");
closeFrameButton.addActionListener(new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {
        ((Window) getRootPane().getParent()).dispose();
    }
});
于 2014-06-22T06:14:22.607 回答