我正在尝试通过点击位于我要关闭的JFrame上的JPanel上的按钮来处理我的JFrame。
我试图在JFrame类上创建一个静态方法,但是当然我的IDE告诉我这不会发生。
有人想过解决方案吗?
谢谢!
答案 0 :(得分: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);
}
});
}
}
答案 1 :(得分:0)
做这样的事情:
JButton closeFrameButton = new JButton("Close");
closeFrameButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
((Window) getRootPane().getParent()).dispose();
}
});