【发布时间】:2015-08-27 03:39:59
【问题描述】:
我使用 JTable 仅用于对齐我想要显示的值。 到目前为止,我的桌子看起来像这样:
我想要的是删除表格的边距,因此无法注意到它是表格。有没有办法让这成为可能?
我的代码:
displayNames = new ArrayList<String>();
displayClasses = new ArrayList<String>();
for (int i=0; i<displayName.size(); i++) {
displayNames.add(displayName.get(i));
displayClasses.add(classes.get(i));
}
Object rowData[][] = { displayNames.toArray(), displayClasses.toArray() };
Object columnNames[] = displayNames.toArray();
JTable table = new JTable(rowData, columnNames);
table.setTableHeader(null);
table.setShowGrid(false);
table.setBackground(Color.LIGHT_GRAY);
tablePane = new JScrollPane(table);
tablePane.setPreferredSize(new Dimension(765,40));
tablePane.setBackground(Color.LIGHT_GRAY);
rightPanel.removeAll();
rightPanel.updateUI();
rightPanel.add(tablePane);
public void showGUI() {
JFrame frame = new JFrame();
frame.add(leftPanel,BorderLayout.EAST);
frame.add(listScrollPane,BorderLayout.WEST);
frame.add(rightPanel);
frame.setSize(1000,500);
frame.setLocation(200,100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
【问题讨论】:
-
“我使用 JTable 仅用于对齐值” 请改用
GridBagLayout。 -
我会直接将 JTable 放到容器中,不使用 JSrollPane,必须从 getPreferredScrollableViewportSize() 覆盖 getPreferedSize