我已将 jTable
添加到 jScrollPane
中,如下所示:
public Scenario_One() {
initComponents();
jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
}
private void initComponents() {
.
.
jScrollPane1.setViewportView(jTable1);
.
.
}
要在单行中显示的文本太大,因此我不得不使用水平滚动条。但即使将策略设置为按需
后,我也看不到水平滚动条。这可能是什么原因?
最佳答案
正如 @MadProgrammer 已经评论的那样,控制 JScrollPane 内的表大小调整行为的属性是 autoResizeMode。基本上,有两个选择:
- autoResizeOff:列始终以其 prefWidth 显示,根据需要显示/隐藏水平滚动条。如果它们的总宽度小于视口(viewport)宽度,则尾随空间保持空闲(显示视口(viewport))
- 所有其他:列的大小调整为表格的总宽度适合滚动 Pane ,水平滚动条永远不会显示
核心 JTable 不支持表“适合”视口(viewport)直到列变得太宽而无法完全显示然后自动允许滚动的(直观)期望。 JXTable(包含在 SwingX project 中)提供了一个额外的调整选项来执行此操作。
关于java - 当我将策略设置为 HORIZONTAL_SCROLLBAR_AS_NEEDED 时,为什么看不到水平滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12890265/