2011-04-04 89 views
0

現在標籤位於文本框的頂部。我希望能夠設置文本框和標籤的位置,以便標籤位於文本框的左側。更改標籤和文本框的位置

 this.container = this.getContentPane(); 
     this.container.setLayout(new FlowLayout()); 

     this.searchText = new JLabel("Enter text to be searched: "); 

     this.charText = new JLabel("Enter a character: "); 

     this.target = new JTextArea(3,30); 
+0

,如果你使用GUI形式的編輯工作,你會發現這很容易。 WindowBuilder Pro支持Swing,可以插入到Eclipse中,現在免費,這要歸功於Google。 http://code.google.com/javadevtools/wbpro/index.html – 2011-04-04 14:41:08

+0

您可能需要查看組織布局:http://download.oracle.com/javase/6/docs/api/javax/swing /GroupLayout.html http://download.oracle.com/javase/tutorial/uiswing/layout/group.html – 2011-04-04 15:03:39

+1

我相信你的問題與組件的大小有關。如果沒有足夠的空間來放置同一行中的'JLabel'和'JTextArea',佈局管理器會將後者添加到新行中。因此,您將在文本區域的頂部添加標籤。爲了解決這個問題,請嘗試增加「容器」的尺寸,特別是「寬度」。另外,我不完全確定爲什麼你有兩個標籤,但只有一個文本區域 - 照顧解釋,或提供更多的代碼? – mre 2011-04-04 15:23:50

回答

1

使用帶有FlowLayout的JPanel。

JPanel myPanel = new JPanel(); 

myPanel.add(searchText); 
myPanel.add(target); 

container.add(myPanel,FlowLayout.LEFT); 

注意,如果你想兩個標籤和兩個文本區域顯示在您需要的時尚,你應該創建兩個面板。有關的FlowLayout更多信息:

Flow Layout

在任何情況下,你應該使用更先進的定位的編輯器。

+0

他已經在使用'FlowLayout',雖然對齊部分的答案可能會有用。 – mre 2011-04-04 15:32:21

+0

我完全不同意需要編輯進行高級職位。編輯沒有提供魔術。如果你可以用編輯器做到這一點,那麼你可以用手做得更好。 – jzd 2011-04-05 11:01:42

1

可以使用GridLayout這樣的:

this.container = new JPanel(new GridLayout(1, 2));  

    this.searchText = new JLabel("Enter text to be searched: "); 

    this.charText = new JLabel("Enter a character: "); 

    this.target = new JTextArea(3,30); 

    container.add(searchText); 
    container.add(target);