我遇到了一個罕見的問題。 當我把代碼放在一個按鈕的事件中時,它可以正常顯示,但是當我把它放在initComponents()
函數的下面(在構造函數中)時,它不起作用。JTable在初始化時不顯示
String[] columnNames = {"Nick", "E-Mail"};
Object[][] data = {
{"Kathy", "[email protected]"},
{"John", "Doe"},
{"Sue", "Black"},
{"Jane", "White"},
{"Joe", "Brown"}
};
jPanel1.setLayout(new BorderLayout());
JTable table = new JTable(data, columnNames);
Dimension dim = new Dimension(jPanel1.getWidth(),jPanel1.getHeight());
JScrollPane tableScroll = new JScrollPane(table);
tableScroll.setPreferredSize(dim);
jPanel1.add(tableScroll, BorderLayout.CENTER);
jPanel1.validate();
任何想法?
我改變了jPanel1.getWidth( )爲一個數字,它工作d!它就像那個函數在開始時返回0一樣。我不知道爲什麼 – user2712751
你不應該設置JScrollPane的preferredSize,而是讓你的佈局管理員爲你做。 –
如果我不設置首選大小,它會填滿整個屏幕! – user2712751