2013-06-30 81 views
1

我在netbeans的包中創建了一個jFrame表單。該項目沒有主要課程。我已經從調色板中放置了一個按鈕。以下是該按鈕的代碼:在JFrame中創建對象

int x = jButton1.getHorizontalAlignment(); 
int y = jButton1.getVerticalAlignment(); 
    JButton button2=new JButton();    
    button2.setBounds(200, 200, 100, 100);  
    button2.setVisible(true); 

第二個按鈕不會顯示。爲什麼? x和y將在以後用於相對定位。 我還想知道除了x + something和y + .setBounds()的座標參數之外怎麼做。

+3

1)你需要添加按鈕到JFrame的內容窗格或JPanel? 2)除非你只是搞亂了,否則不要使用setBounds()。相反,使用佈局管理器定位您的小部件,並讓他們設置確切的大小和位置。 – 7stud

+0

@ 7stud我想將按鈕添加到對象窗格。如何使用佈局管理器在相對位置創建對象? –

+0

@DeeparthGupta:默認情況下,每個「組件」都是可見的,不會爲每個組件顯式編寫「setVisible(true)」。只需設置Top Top Container的可見屬性就足夠了。 –

回答

4

第二個按鈕不會顯示。爲什麼?

因爲,您還沒有將按鈕添加到JPanel

我也想知道怎麼做,除了X +的東西, Y +東西在.setBounds的座標參數()。

對於setBounds的工作,你需要設置容器的佈局爲null,這是非常非常糟糕的做法。因爲它會降低跨平臺的應用程序的可移植性,而且它必須使用setBounds維護代碼。你應該讓擺動的內置佈局來完成它的工作。看看這裏:A Visual Guide to Layout Managers

+0

我還沒有添加JPanel。我仍然嘗試使用JPanel.add()函數。它要求我爲返回變量指定一個新值。點擊那個給我 Component add = JPanel.add(button2); 這仍然給和錯誤。 –

+0

@DeeparthGupta:您的問題表明您正在嘗試編寫Swing,而無需先通過一兩個教程。請停止猜測並閱讀教程,否則你會遇到非常令人沮喪的體驗。 –

+0

@ Hovercraft充滿鰻魚:我認爲我應該因爲他們在學校教的東西不包括這個。任何好的教程建議? –