2016-04-15 54 views
0

我使用日食
我有點新到Java ..我做了一個按鈕,文本字段和標籤,並把它們放到一個JPanel - 然後把JPanel的上的JFrame ..有更簡單的方法來定位Eclipse中的JFrame組件嗎?

它真的很難正確定位它們,因爲我不得不改變它們三個的x,y,寬度和高度,如果不是它應該在哪裏,我必須更改x,y並編譯&運行並完成所有工作直到它在正確的位置..
有沒有更容易的方法來定位這些東西或軟件來爲我生成座標?

對不起,我的英語

+4

參見[中的容器進行佈局組件(https://docs.oracle.com/javase/tutorial/uiswing/layout/index .html) – AJNeufeld

+1

我會退後一步,在進一步深入之前查看基本的Swing功能。或者考慮使用GUI界面構建器 - 我不記得Eclipse是如何使用它的。 –

+0

在NetBeans IDE中,這不成問題。日食我不會做Swing。 –

回答

0

Eclipse有一個叫WindowBuilder GUI設計工具。根據您擁有的Eclipse包,它可能已經安裝。如果沒有,您可以輕鬆將其添加到Eclipse安裝中。

正如一些評論提到的,你應該首先了解更多關於AWT和Swing以及它們如何處理組件佈局。它的要點是而不是使用絕對定位的組件,而不是use LayoutManagers

2

使用佈局管理器。

例如:

BorderLayout的

enter image description here

使用BorderLayout的每個內容窗格是 初始化爲使用BorderLayout的GUI的圖像。 (與使用頂級容器 解釋的一樣,內容窗格是所有幀中的主容器, 小程序和對話框。)BorderLayout將組件放置在最多五個 區域中:頂部,底部,左側,右側和中間。所有額外的空間都放置在中心區域 。如果希望能夠將 拖放到起始位置,則使用JToolBar創建的工具欄必須在BorderLayout容器內創建的 。有關更多 的詳細信息,請參閱如何使用BorderLayout。

...//Container pane = aFrame.getContentPane()... 
JButton button = new JButton("Button 1 (PAGE_START)"); 
pane.add(button, BorderLayout.PAGE_START); 

//Make the center component big, since that's the 
//typical usage of BorderLayout. 
button = new JButton("Button 2 (CENTER)"); 
button.setPreferredSize(new Dimension(200, 100)); 
pane.add(button, BorderLayout.CENTER); 

button = new JButton("Button 3 (LINE_START)"); 
pane.add(button, BorderLayout.LINE_START); 

button = new JButton("Long-Named Button 4 (PAGE_END)"); 
pane.add(button, BorderLayout.PAGE_END); 

button = new JButton("5 (LINE_END)"); 
pane.add(button, BorderLayout.LINE_END); 

看一看完整的文檔:https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

+0

試圖解釋如何使用佈局 - 顯示組件的簡單程度如何添加和arragned,這將大大提高你的答案的質量! –

相關問題