2012-03-17 45 views
1

我想讓一個類默認打開,然後當我單擊一個Swing按鈕時,我想讓其他表單運行。我曾經使用Visual Basic,它是如此簡單:Java Swing兩個表單類

Form2.Show() 

Form2.Hide() 

但在Java中,我找不到這樣的事情。有什麼方法可以輕鬆地做到這一點?

謝謝!

+4

你可能不喜歡這個建議,但您的用戶:不要做交換JFrames。取而代之的是學習如何顯示單個JFrame並用CardLayout交換「視圖」。 – 2012-03-17 23:10:07

回答

2

研究以下內容,瞭解如何按下按鈕導致顯示新框架。

public static void main(String args[]) throws Exception { 
    new JFrame(){{ 
     setDefaultCloseOperation(DISPOSE_ON_CLOSE); 
     setSize(300,300); 
     setLocation(100,100); 
     setVisible(true); 
     setLayout(new BorderLayout()); 
     add(new JButton("PressToOpenNewFrame"){{ 
      addActionListener(new ActionListener(){ 
      public void actionPerformed(ActionEvent e) { 
       new JFrame(){{ 
        setDefaultCloseOperation(DISPOSE_ON_CLOSE); 
        setSize(300,300); 
        setLocation(200,200); 
        setVisible(true); 
        setLayout(new BorderLayout()); 
        add(new JButton("PressMeToBeep"){{ 
         addActionListener(new ActionListener(){ 
         public void actionPerformed(ActionEvent e) { 
         Toolkit.getDefaultToolkit().beep(); 
         }}); 
        }}, BorderLayout.SOUTH); 
       }}; 
      }}); 
     }}, BorderLayout.SOUTH); 
    }}; 
} 
+0

謝謝查克!這幫了我很多! – Lucas 2012-03-17 23:32:23

+0

參見[*雙括號初始化*](http://stackoverflow.com/q/1958636/230513)。 – trashgod 2012-03-18 02:03:37

+0

setVisible(true);必須是構造函數中的最後一行代碼 – mKorbel 2012-03-18 16:34:10

0

你可以試試:Form#setVisible(boolean)