删除/隐藏Jtable的边距

时间:2015-06-11 12:31:06

标签: java swing

我只使用了一个JTable用于我想要显示的值的对齐。 到目前为止,我的表格看起来像这样: enter image description here

我想要的是删除表格的边距,因此无法注意到它是一张桌子。有没有办法让这成为可能?

我的代码:

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);
    }

3 个答案:

答案 0 :(得分:0)

tablepane.setBorder(BorderFactory.createEmptyBorder());

答案 1 :(得分:0)

听起来你想在JScrollPane上使用setBorder

tablePane.setBorder(BorderFactory.createEmptyBorder());

更详细地回答here

答案 2 :(得分:0)

显示边距(和边框),因为您将表放在JScrollPane中。

如果您使用rightPanel.add(**table**),则保证金已消失。

如果仍想要边框,您可以使用table.setBorder(...).

手动为表添加边框

如果不使用JScrollPane,你显然也会失去滚动的能力......我不确定这是否适合你。

我也同意Andrew:你不应该使用表格,而是使用GridBagLayout。