我正在用記錄器製作一個程序。記錄器有它自己的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