3

此代码将 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. 用户仍然可以调整列的大小
  2. 尊重当前宽度?即当我改变一列的宽度时,其他列的宽度不应该改变。
4

1 回答 1

3
table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );

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

于 2010-07-27T15:24:28.077 回答