这是截图。
这是我构建和设置标题的代码。
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);
}
但是,我无法让标题占据整个空间。它将空间留在垂直滚动条上方。
那么,我怎样才能让这个列标题占据整个宽度。
答案 0 :(得分:3)
但是,我无法让标题占据整个空间。它是 将空间留在垂直滚动条上方。
放置JComponent to the Corner(你的问题与Borders有关)
或将JPanel
contians JButton
移出JScrollPane
答案 1 :(得分:2)
这是标头的工作方式,它们旨在为可视区域提供标题信息,因此必须将它们约束到可视区域的宽度。
尝试将panel
添加到父容器的NORTH
位置,将滚动窗格添加到CENTER
位置,而不是设置列标题视图。