public UI(){
I have JTextField,JButtons and labels
I have also setLayout(null);
}
現在我試圖創建一個JTable
JTable table = new JTable(data, headers);
,但它不會顯示,直到我拿出setLayout的
對於所有的按鈕,文本框和標籤我有setBounds();
如何在setLayout爲空時顯示JTable?
public UI(){
I have JTextField,JButtons and labels
I have also setLayout(null);
}
現在我試圖創建一個JTable
JTable table = new JTable(data, headers);
,但它不會顯示,直到我拿出setLayout的
對於所有的按鈕,文本框和標籤我有setBounds();
如何在setLayout爲空時顯示JTable?
請勿使用null
佈局,而應使用LayoutManagers
。 Java爲你創造了令人驚歎的佈局,你只需要使用它,讓佈局完成你的工作,而不是努力計算位置和大小。
這是我的答案,但如果您堅持使用它,只需撥打setBounds(x,y,width,height)
方法爲JTable
。 但是,不要使用絕對定位(null
佈局)。
//....
JScrollPane scrol = new JScrollPane(table);
scrol.setBounds(table.getBounds());
//....
@mKorbel:是的,你是對的,頭部不會顯示出來,不會將它添加到'JScrollPane'並設置scrollPane的邊界。 –
我試過這樣做,但仍然沒有顯示任何'table.setBounds(10,10,100,100);' –
@ Shiv Chand和任何東西在這裏解決你的帖子在這裏的衝突'1。如何在setLayout爲空時顯示JTable?v.s. '2。 con.add(新的JScrollPane(table),BorderLayout.SOUTH);',因爲只有一種方法可以顯示你的JTable,所以注意JTable不能爲'BorderLayout.SOUTH'空,否則就會創建一個10× 10像素 – mKorbel
請檢查['LayoutManager'](http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html) – alex2410
Areyou它添加到一個JScrollPane? – MadProgrammer
@MadProgrammer是'con.add(新的JScrollPane(table),BorderLayout.SOUTH);' –