我正在用记录器制作一个程序。记录器有它自己的JFrame。 我试图通过点击该框架的最小化按钮来覆盖该反应。 我想框架要么setVisible(false)或做defaultCloseOperation(因为我设置为隐藏更早)。覆盖JFrame的最小化
我该怎么做? 在此先感谢
我正在用记录器制作一个程序。记录器有它自己的JFrame。 我试图通过点击该框架的最小化按钮来覆盖该反应。 我想框架要么setVisible(false)或做defaultCloseOperation(因为我设置为隐藏更早)。覆盖JFrame的最小化
我该怎么做? 在此先感谢
使用JDialog而不是JFrame。 JDialogs没有最小化按钮。
您可以添加一个WindowListener并添加一个iconified handler,当窗口最小化时它会作出反应。
可能:
frame.addWindowListener(new WindowAdapter(){
public void windowIconified(WindowEvent e){
frame.setVisible(false);
}
});
治疗疾病,不要医生的症状;-)只是为了强调罗布的评论... – kleopatra 2011-05-04 11:07:48
可以使用WindowStateListener这样
f.addWindowStateListener(new WindowStateListener() {
@Override
public void windowStateChanged(WindowEvent arg0) {
if (arg0.getNewState() == Frame.ICONIFIED) {
// do stuff
}
}
});
试试这个:
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowIconified(WindowEvent event)
{
//do your stuff
}
});
您的回答重复现有的答案http://stackoverflow.com/a/5877604/1400768与更少的信息或解释。 – nhahtdh 2015-09-21 07:36:14
@ user545236,应用程序应该只有一个单一的JFrame。其他助手窗口应该是对话框。接受的答案可能会起作用,但这不是JFrame的正确用法,这就是为什么存在JDialogs的原因。 – camickr 2011-05-04 03:33:58