java - 调整 JFrame 大小时,如何防止 JTable 的列调整大小?

标签 java swing layout jtable column-width

此代码将 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);

我还有一些代码来设置列的首选大小。

没什么好看的。当用户界面打开时,表格占据了整个 View ,我没有滚动条。列的组合首选宽度需要比窗口宽度更多的水平空间。尽管如此,还是没有水平滚动条,而且列太窄了。

我该怎么做

  1. 用户仍可调整列的大小
  2. 遵守当前宽度? IE。当我更改一列的宽度时,其他列的宽度不应更改。

最佳答案

table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );

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

关于java - 调整 JFrame 大小时,如何防止 JTable 的列调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3345146/

相关文章:

java - java中统计单词出现的次数

java - 如何在上传图片时自动创建按钮?

java - JTextField 未出现在 JFrame 中

android - 创建图像布局

java - Android中如何解析树结构JSON并显示在UI中

当前实例上的 java 计时器

css - 如何将 Bootstrap 列溢出/扩展/渗出到视口(viewport)的边缘?

ruby-on-rails - 缺少 Rails 主要布局

Java:在 Swing 中显示电子邮件正文

java - 更改 JFileChooser 的目录