2013-10-20 78 views
0

我仍在學習java和 我有簡單的代碼關於Java佈局

import javax.swing.*; 

Public class Test extends JFrame{ 
JLabel name = new JLabel("Name"); 
JTextArea ta = new JTextArea(); 

Test(){ 
    this.setSize(435, 400); 
    this.setTitle("Test"); 
    this.setDefaultCloseOperation(EXIT_ON_CLOSE); 
    this.setLayout(null); 
    name.setBounds(10, 10, 50, 20); 
    this.add(name); 
    ta.setBounds(90, 10, 300, 200); 
    ta.setLineWrap(true); 
    JScrollPane scroll = new JScrollPane(ta); 
    this.add(scroll); 
} 

public static void main(String [] args){ 
    new Test().setVisible(true); 
} 
} 

我應該選擇什麼樣的佈局?我想textarea的節目的名字標籤

+1

你提出什麼選擇?你應該看看'LayoutManager'而不是硬編碼佈局。 –

+0

對不起,我今天剛剛開始^^ ... – user2848429

+0

'setLayout(null);'因爲你今天剛剛起步,所以現在是**不適應任何不良習慣的好時機。這是最糟糕的之一。 Java GUI可能需要在多種平臺上工作,使用不同的屏幕分辨率和使用不同的PLAF。因此,它們不利於組件的準確放置。爲了組織強大的圖形用戶界面,請使用佈局管理器或[它們的組合](http://stackoverflow.com/a/5630271/418556)以及[空格]的佈局填充和邊框(http: //stackoverflow.com/q/17874717/418556)。 –

回答

0

如果它只是一個標籤和一個文本區域的旁邊,只使用一個簡單GridLayout

Test(){ 

    setLayout(new GridLayout(1, 2)); // sets a Grid Layout with 1 row and 2 columns 
    add(name); 

    JScrollPane scroll = new JScrollPane(ta); 
    ta.setLineWrap(true); 
    add(scroll); 


} 

public static void main(String[] args) { 
    JFrame frame = new Test(); 
    frame.setSize(435, 400); 
    frame.setTitle("Test"); 
    frame.setDefaultCloseOperation(EXIT_ON_CLOSE); 
    frame.setVisible(true); 
} 
+0

好吧先讓我試試^^ – user2848429

+0

大小怎麼樣?我的textarea和標籤比我想象的要大 – user2848429

+0

更改frame'setSize(x,y)'的大小。如果您對所有內容都不熟悉,則應該閱讀Java GUI教程http://docs.oracle.com/javase/tutorial/uiswing/index.html –