2011-12-19 52 views
1

如果我有兩個JFrame,其中一個是主JFrame,另一個是我點擊某個事件時彈出的。現在我想要的是,當新框架彈出時,主框架應該被最小化。當我點擊這個彈出框關閉它時,主要應該恢復。在Java Swing中自定義事件中最小化和最大化JFrame

本質上我想知道,除了默認的點擊操作外,我們如何最大化和最小化JFrame。例如,有沒有這樣的自定義點擊功能?

+1

的http://文檔。 oracle.com/javase/6/docs/api/java/awt/Frame.html#setExtended狀態%28int%29 – PeterMmm 2011-12-19 15:09:24

+0

@Johnydep:你爲什麼不直接使用frame.setVisible(true/false);這幾乎會給你帶來同樣的效果。如果你真的不需要手動將第一幀重新放回焦點,以防萬一。 Registers – 2011-12-19 15:43:00

+0

@ProphesyAwaits,只是通過設置true/false我不能讓他們與海誓山盟互動,也框架是不是全球可訪問外部的構造函數,這是另一個問題,雖然! – Johnydep 2011-12-19 15:58:35

回答

3

1)setDefaultCloseOperation to NOTHING_ON_CLOSE

2)addWindowListenerJFrame

3)overrive windowsClosing()方法適當Action爲圖標化...

4)不要忘記設置爲JMenuItem/JButtonSystem.exit(1),因爲在這種形式下,當前的JVM語句從未從PC RAM或交換區域消失,直到PC重新啓動或關閉爲止

5)更好的是改變第二。 JFrameJDialog因爲在大多數情況下,太硬,管理大量的方法中間人2 JFrames

  • setPatent

  • setModal

  • setModalityTypes

+0

感謝您的回覆。只是一個questin,不會system.exit殺死整個程序?還有一件事,是否可以將圖像添加到JDialog? – Johnydep 2011-12-19 15:57:16

+0

謝謝JDialog是更好的選擇:) – Johnydep 2011-12-19 16:12:52

+0

很高興幫助+1 – mKorbel 2011-12-19 16:20:51

相關問題