我正在为我的健康跟踪程序尝试在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);


您知道发生了什么或如何解决该问题吗?

最佳答案

您可以通过在JTableJScrollPane的帮助下包装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

08-06 01:40