Java 如何制作JTable';s宽度>;=随附的滚动窗格';宽度是多少?
我想使表格的宽度至少适合封闭的滚动窗格的宽度,如果它越来越大,则使用水平滚动条Java 如何制作JTable';s宽度>;=随附的滚动窗格';宽度是多少?,java,swing,jtable,jscrollpane,Java,Swing,Jtable,Jscrollpane,我想使表格的宽度至少适合封闭的滚动窗格的宽度,如果它越来越大,则使用水平滚动条 JTable的自动调整大小模式都不适合我的需要:auto_resize_OFF允许调整表的大小大于滚动窗格的宽度,但不能限制表的最小宽度;其他模式不允许表格宽度大于滚动窗格的宽度 我尝试将最小尺寸设置为如下,但无效: JTable table = new JTable(myModel); JScrollPane scrollPane = new JScrollPane(table); table.setAutoRes
JTable
的自动调整大小模式都不适合我的需要:auto_resize_OFF
允许调整表的大小大于滚动窗格的宽度,但不能限制表的最小宽度;其他模式不允许表格宽度大于滚动窗格的宽度
我尝试将最小尺寸设置为如下,但无效:
JTable table = new JTable(myModel);
JScrollPane scrollPane = new JScrollPane(table);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// After the table is displayed.
table.setMinimalSize(scrollPane.getSize());
有什么办法可以做到这一点吗
我尝试将最小尺寸设置为如下,但无效:
JTable table = new JTable(myModel);
JScrollPane scrollPane = new JScrollPane(table);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// After the table is displayed.
table.setMinimalSize(scrollPane.getSize());
table.setMinimalSize(scrollPane.getSize())
和JTable
无法返回合理的JScrollPane
、Min
和Max
PreferredSize
- 您可以使用
维度调整为JTable对于table.setPreferredScrollableViewportSize(table.getPreferredSize())将(在应用程序启动时)JScrollPanes
,运行时必须通过JFrame.pack()
和revalidate()
对repaint()
嵌套的容器进行验证,否则必须计算维度而不是JTable.getPJScrollPane
- 不要重新发明轮子,使用@camickr,哪一个从你的描述中不清楚,取决于你的
- 这个想法无法逆转
JTable table = new JTable(myModel);
JScrollPane scrollPane = new JScrollPane(table);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// After the table is displayed.
table.setMinimalSize(scrollPane.getSize());
table.setMinimalSize(scrollPane.getSize())
和JTable
无法返回合理的JScrollPane
、Min
和Max
PreferredSize
- 您可以使用
维度调整为JTable对于table.setPreferredScrollableViewportSize(table.getPreferredSize())将(在应用程序启动时)JScrollPanes
,运行时必须通过JFrame.pack()
和revalidate()
对repaint()
嵌套的容器进行验证,否则必须计算维度而不是JTable.getPJScrollPane
- 不要重新发明轮子,使用@camickr,哪一个从你的描述中不清楚,取决于你的
- 这个想法无法逆转
setPreferredSize()
除了setMinimalSize()
大多数布局管理器尊重首选大小而不是最小大小。@a_horse_没有名字:如果我使用setPreferredSize()
,表格宽度将固定为首选宽度,而且再也不能调整大小了。@MadProgrammer:看来这是另一个问题了…@ZhaoYi真的吗?怎么用?当表格的总宽度小于视口时,它将使列填充滚动窗格的水平宽度,但允许它过度扩展(当它太大时显示水平滚动条),除了查看setMinimalSize()之外,还可以查看TrysetPreferredSize()
大多数布局管理器尊重首选的大小,而不是最小的大小。@MadProgrammer:没有名字的马:如果我使用setPreferredSize()
,表格宽度将固定到首选的宽度,并且再也不能调整大小。@MadProgrammer:似乎这是一个不同的问题…@ZhaoYi真的吗?怎么用?当表格的总宽度小于视口时,它将使列填充滚动窗格的水平宽度,但允许其过度扩展(当其太大时显示水平滚动条)