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);

我也有一些代码来设置列的首选大小.

没有什么花哨.当用户界面打开时,表格占据了整个视图,并且我没有滚动条.列的组合首选宽度需要比窗户宽的水平空间更多.尽管如此,没有水平滚动条并且列太窄.

我该怎么做

>用户仍然可以调整列的大小
>当前宽度受尊重吗?即当我更改一列的宽度时,其他列的宽度不应更改.

解决方法:

table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );

您还可以将包含表的滚动窗格添加到JPanel,然后将面板添加到框架.这样,面板将改变大小,而不是滚动窗格.

上一篇:java-如何通过拖动从JTable中删除列?


下一篇:java-与JTable中的单元格渲染器进行交互