2011-05-05 66 views
0

我有一個Swing UI,其中包含6個文本字段和用於輸入和1按鈕和texfield的標籤以顯示輸出。現在我想圍繞這兩個邊界。Java Swing邊框到文本框和按鈕

我已閱讀有關標題邊框的一些材料,但我認爲它僅適用於單個元素。請建議。

回答

3

你可以製作帶有標題邊框的JPanel,然後放入您想要的許多組件在JPanel中使用您選擇的內容管理器。

一個例子:

JPanel myPanel = new JPanel(); 
myPanel.setBorder(new TitledBorder(null, "My Title", TitledBorder.LEADING, TitledBorder.TOP, null, null)); 

myPanel.setLayout(new GridLayout(1, 0, 0, 0)); 

JButton button = new JButton("New button"); 
myPanel.add(button); 

JLabel label = new JLabel("New label"); 
myPanel.add(label); 
+0

只是爲了澄清所有的TitledBorder的參數: – 2011-05-05 12:15:45

+0

公衆的TitledBorder(邊境接壤, 字符串標題, INT titleJustification, INT titlePosition, 字體titleFont, 顏色titleColor) – 2011-05-05 12:15:55

+1

請檢查你的代碼片段,我覺得你有一個錯字某種。我想你應該改變myPanel面板或其他方式。 :) – Boro 2011-05-05 12:56:20

3

您可以將最後2個組件添加到JPanel,然後將該面板添加到主框架。現在你可以給JPanel一個邊界,它將包含兩個組件。

爲了讓邊框的JPanel,您可以使用下列內容:

JPanel pane = new JPanel(); 
pane.setBorder(BorderFactory.createLineBorder(Color.black)); 

如果您想標題邊框那麼你可以使用下列內容:

pane.setBorder(BorderFactory.createTitledBorder(BorderFactory 
      .createMatteBorder(5, 5, 5, 5, Color.blue), "Title", 
      TitledBorder.LEFT, TitledBorder.TOP)); 

參考:http://download.oracle.com/javase/tutorial/uiswing/components/border.html

+0

+1,但因爲他似乎想標題邊框,也許你應該改變它使用'BorderFactory.createTitledBorder' – MByD 2011-05-05 12:12:07

+0

@MByD:編輯答案。 – 2011-05-05 12:16:57

+0

我發現現在我們有相同的代表。也許我應該刪除這upvote? ;) – MByD 2011-05-05 12:20:19