我使用带有两个按钮的JTable(活动和非活动按钮).当我点击非活动按钮时,我隐藏了表格的第一列.另外,当我点击"活动"按钮时,我会尝试显示第一列.但问题是,当我点击"活动"按钮时,我无法显示第一列的首选大小.
这是隐藏第一列的代码,
expTable.getColumnModel().getColumn(0).setMinWidth(0); expTable.getColumnModel().getColumn(0).setMaxWidth(0); expTable.getColumnModel().getColumn(0).setWidth(0);
这是获取拳头栏的代码,
expTable.getColumnModel().getColumn(0).setMinWidth(0); expTable.getColumnModel().getColumn(0).setMaxWidth(300); expTable.getColumnModel().getColumn(0).setWidth(100);
首先,我单击"非活动"按钮,然后单击"活动"按钮.但这不起作用.
有任何想法如何做以上.
private void inactiveButtonActionPerformed(java.awt.event.ActionEvent evt){ expTable.getColumnModel().getColumn(0).setMinWidth(0); expTable.getColumnModel().getColumn(0).setMaxWidth(0); expTable.getColumnModel().getColumn(0).setWidth(0); } private void activeButtonActionPerformed(java.awt.event.ActionEvent evt) { expTable.getColumnModel().getColumn(0).setMinWidth(0); expTable.getColumnModel().getColumn(0).setMaxWidth(300); expTable.getColumnModel().getColumn(0).setWidth(100); }
camickr.. 5
不要试图TableColumn
通过播放宽度来"隐藏"a .的TableColumn
仍是表的一部分,所以当逐列用户的标签,焦点将转到隐藏列,并消失在用户查看,这是非常令人困惑.
相反,你应该删除TableColumn
从TableColumnModel
.然后您可以在需要时添加TableColumn
背面TableColumnModel
.
查看表列管理器,它为您管理此概念.如果您不使用该类的完整功能,则可以使用hideColumn(...)
和showColumn(...)
在第一列上进行简单切换.
不要试图TableColumn
通过播放宽度来"隐藏"a .的TableColumn
仍是表的一部分,所以当逐列用户的标签,焦点将转到隐藏列,并消失在用户查看,这是非常令人困惑.
相反,你应该删除TableColumn
从TableColumnModel
.然后您可以在需要时添加TableColumn
背面TableColumnModel
.
查看表列管理器,它为您管理此概念.如果您不使用该类的完整功能,则可以使用hideColumn(...)
和showColumn(...)
在第一列上进行简单切换.