2017-09-20 10 views
-3

私は初心者で、私のJava試験の準備中に次のコードにぶつかりました センターが "add(s、" Center ");"add(s、 "Center")で何が起こるか。

class TableTest extends JFrame { 
    TableTest() { 
     JTable table = new JTable(cells, columnNames); 
     JScrollPane s = new JScrollPane(table); 
     add(s, "Center"); 
    } 

    private Object[][] cells = { { "111", "abc", "Trainee" }, { "222", "xyz", "Trainee" }, { "333", "ss", "CEO" }, }; 
    private String[] columnNames = { "Emp_ID", "Name", "Designation" }; 

    public static void main(String[] args) { 
     TableTest tt = new TableTest(); 
     tt.setTitle("Table"); 
     tt.setSize(300, 200); 
     tt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     tt.setVisible(true); 
    } 

} 
+0

'追加(S、BorderLayout.CENTER)'となり、より良いプログラミングスタイルのレイアウトの制約を表現する:http://docs.oracle.com/javase/tutorial/ uiswing/layout/index.htmlおよびこちらhttp://docs.oracle.com/javase/8/docs/api/java/awt/BorderLayout.html#CENTER –

+0

ありがとう、私はそれを得ました:-) –

+0

このコード1) 2)フレームに任意のサイズを設定する3)「マジックナンバー」を使用する4)EDT以外のスレッドでGUIを起動する5)DISPOSE_ON_CLOSEがより最適になるようにするにはEXIT_ON_CLOSEを使用する6 )は明らかに数値データ( 'EMP_ID')を文字列として扱います。 * "私は初心者です。私のJava試験の準備中に次のコードにぶつかりました" *このコードは勉強する価値がありません。実際、それは悪い習慣を教える駄目です。 –

答えて

1

私はセンターであるものを私に教えてください、次のコードで捕まってしまった「を追加(複数可、」センター「);」

コードでは「魔法」の値を使用しないでください。

代わりに、コードはBorderLayout.CENTERを使用する必要があります。その値は、レイアウトマネージャによって使用される制約です。

この制約が意味することの詳細については、How to Use BorderLayoutのSwingチュートリアルのセクションを読んでください(また、exmaplesも参照してください)。

0

"センター" を参照してください。ここで、この

関連する問題