java在调整JFrame的大小时,如何防止JTable的列调整大小?
此代码将JTable放入JFrame(整个UI的唯一组件):
JFrame frame = new JFrame( "Title");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTable table = appender.createTable();
JScrollPane scrollPane = new JScrollPane(table);
table.setFillsViewportHeight(true);
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
我还有一些代码来设置列的首选大小
没什么特别的。当UI打开时,表格占据了整个视图,我没有滚动条。柱的组合首选宽度需要比窗宽更多的水平空间。尽管如此,没有水平滚动条,列也太窄
我该怎么做
- 用户仍然可以调整列的大小
- 是否尊重当前宽度?即,当我更改一列的宽度时,其他列的宽度不应更改李>
# 1 楼答案
您还可以将包含表的滚动窗格添加到JPanel,然后将面板添加到框架中。这样面板的大小就会改变,而不是滚动窗格