2014-10-30 65 views
0

我有JTable,它具有無法放入它的記錄,所以我決定添加滾動條。但是,滾動條並未出現。我究竟做錯了什麼?JTable無法添加滾動條

new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, 
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
      table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 

      table.setBounds(10, 73, 850, 850); 

根據答案我有現在這個樣子:

JScrollPane panel = new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, 
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
      table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 

      panel.setBounds(10, 73, 850, 850); 
      contentPane.add(table); 

現在表甚至沒有顯示。

+0

您需要'setbounds'給'JScrollPane'而不是'JTable'。並避免使用'null'佈局 – 2014-10-30 13:45:23

回答

4

contentPane.add(table);

您正在從滾動窗格中刪除表格。

您必須將滾動窗格添加到框架。代碼應該是:

contentPane.add(panel); 
3

這裏:

table.setBounds(10, 73, 850, 850); 

你被限制JTable的大小,防止其在需要時expaining(並因此表現出JScrollPane的的滾動條)搬起石頭砸自己的腳。

從不,絕對不會設置任何組件的絕對大小,避免空佈局,而是讓組件的首選大小和佈局管理器爲您完成。你的是一個常見的新手錯誤,因爲它似乎它應該更容易創建複雜的圖形用戶界面,通過設置自己的所有大小和位置的東西,但你很快就會發現這是一個謬論,當你這樣做時,你不必要地限制了GUI的靈活性和可更新性,而且您會發現在所有平臺和屏幕分辨率之外,它看起來會非常糟糕。再次,學習和使用佈局管理器。

+0

謝謝,我該如何設置最小大小? – 2014-10-30 13:50:36

+0

@OndrejTokar「JScrollPane」應該是您在任何LayoutManager中調整大小的那個。 – Compass 2014-10-30 13:52:19

+0

@Hovercraft完整的鰻魚請你檢查編輯? – 2014-10-30 14:08:04