2014-03-05 110 views
1

我試圖把邊框我的JTable我的健康跟蹤程序,但邊界重疊表:爲什麼我的邊框與我的JTable重疊?

enter image description here

Border border = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED),"Summary"); 

Object[][] statsObj; 
String[] headers = {"","","","","",""}  

JTable statsT = new JTable(statsObj, headers); 
statsT.setBackground(null); 
statsT.setShowGrid(false); 
statsT.setBorder(border); 

任何想法是怎麼回事或者如何解決的問題?

回答

2

您可以通過在JScrollPaneJPanel的幫助下將JTable包裝並將Border設置爲該組件來解決該問題。例如:

JScrollPane pane = new JScrollPane(statsT); 
pane.setBorder(border); 

,如果你需要不顯示錶頭添加statsT.setTableHeader(null);

或者與JPanel

JPanel p = new JPanel(new BorderLayout()); 
p.add(statsT); 
p.setBorder(border); 

但是,它是更好地使用JScrollPane

enter image description here

+0

謝謝,效果很好。感謝您對.setTableHeader的額外評論。我知道必須有辦法做到這一點,但我沒有花太多時間尋找正確的方法。 – rphello101

相關問題