JTable行选择而不改变数据
你好,我正在做一个大学项目,我的 GUI 中有一个 JTable。我希望用户能够选择行而无法更改表中的数据。我使用两个数组来创建表而不是表模型。谢谢
我不想使用表格模型!!!
Hi Im doing a project for college and have a JTable in my GUI. I want the user to be able to select rows without being able to change the data in the table. I am using two arrays to crate the table not the table model. Thanks
I dont want to use tablemodels!!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以在表模型中实现 isEditable() 方法并返回 false,并且您的表将不可编辑:
然后您有一个表并将其模型设置为 MyTableModel 对象,例如。
额外信息:
AbstractTableModel.isCellEditable(int,int)
默认返回 false,因此您无需重写它即可获得该行为。该方法的
DefaultTableModel
实现默认返回 true,因此如果您希望使单元格不可编辑,则必须重写该方法。此答案的资源。
You can implement the isEditable() method in your table model and return false and your table will not be editable:
Then you have a table and you set its model to a MyTableModel object eg.
Extra Information:
AbstractTableModel.isCellEditable(int,int)
returns false by default, so you don't need to override it to get that behavior.The
DefaultTableModel
implementation of that method returns true by default, so that one must be overriden if you wish to make cells un-editable.Resource of this answer.
您应该通过扩展 AbstractTableModel 或 DefaultTableModel 来定义自己的表模型。只需重写 isCellEditable(int row, int col) 并使其返回 false 即可。
You should define your own table model, by extending AbstractTableModel, or DefaultTableModel. Just override
isCellEditable(int row, int col)
and make it returnfalse
.您将需要覆盖表模型的 isCellEditable() 方法始终返回 false。
You will need to override the table model's isCellEditable() method to always return false.