JScrollPane列标题未采用完整大小

时间:2013-10-14 05:23:07

标签: java swing jscrollpane

这是截图。

enter image description here

这是我构建和设置标题的代码。

private void buildHeader() {
    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));

    panel.add(Box.createHorizontalStrut(10));
    panel.add(new JLabel("Documents"));
    panel.add(Box.createHorizontalGlue());
    panel.add(new JButton("View"));
    panel.add(new JButton("Print"));

    panel.setBorder(BorderFactory.createLineBorder(new Color(210, 210, 210)));
    panel.setBackground(new Color(245, 245, 245));      
    panel.setPreferredSize(new Dimension(panel.getPreferredSize().width, 51));

    setColumnHeaderView(panel);
}

但是,我无法让标题占据整个空间。它将空间留在垂直滚动条上方。

那么,我怎样才能让这个列标题占据整个宽度。

2 个答案:

答案 0 :(得分:3)

  

但是,我无法让标题占据整个空间。它是   将空间留在垂直滚动条上方。

答案 1 :(得分:2)

这是标头的工作方式,它们旨在为可视区域提供标题信息,因此必须将它们约束到可视区域的宽度。

尝试将panel添加到父容器的NORTH位置,将滚动窗格添加到CENTER位置,而不是设置列标题视图。