我正在为我的健康跟踪程序尝试在JTable周围放置边框,但是边框与表格重叠:
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);
您知道发生了什么或如何解决该问题吗?
最佳答案
您可以通过在JTable
或JScrollPane
的帮助下包装JPanel
并将该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
。