2013-02-07 66 views
0

我使用eclipse中的窗口生成器來創建一個swing應用程序。不過,我觀察到自動生成的代碼讓我感到困惑。在eclipse中使用窗口生成器

 test frame = new test(); 
     frame.setVisible(true); 


public test() { 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(100, 100, 450, 300); 
     contentPane = new JPanel(); 
     contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     contentPane.setLayout(new BorderLayout(0, 0)); 
     setContentPane(contentPane); 
    } 

我一直認爲我們需要創建一個JFrame並將面板添加到它。但是在這裏,eclipse似乎使用construcutor創建了一個測試對象,然後調用類對象上的frame.setVisible,它似乎工作正常。我認爲frame.setVisible()必須始終在Jframe上調用。

+0

你的問題是什麼? – Raptor

+0

我想知道當test實際上是一個類而不是JFrame時,對象上的test.setVisible()實際上是如何工作的。我們不必創建一個JFrame,然後添加一個面板到它? – user1667307

+0

執行你的代碼,你就會知道。 – Raptor

回答

1

這個test類是一個JFrame看到類的定義,你會發現它繼承JFrame所以這應該清除你的困惑。

+0

所以調用test.setVisible就像調用test.getFrame()。setVisible() – user1667307

+1

測試是**一幀**,所以你直接調用* test.setVisible(); * – iTech

相關問題