我必须做一个5分钟的项目演示,我必须实施。
愚蠢的ol' me选择了一个5分钟的演讲太多的项目。
还有,我拖拉了。老师说没关系,但我有点"作弊",使用Netbeans GUI构建器。
我已经完成了所有的布局,但没有功能。
我有一个选项卡视图,每个选项卡都有一个表。
让我们以jTable1为例。这个表有3列,一列是名字(字符串),一列是数字(对象??),还有一列是复选框(布尔值)。
我的问题是:我想要选中第三列的复选框,然后根据我选中该复选框的次数更新数字列。
我怎么能做到这一点,无论是使用GUI构建器或手工编码事件/绑定/连接/或任何我需要?
现在,让我把事情弄清楚:
我不会让任何人帮我做作业。我在这一部分卡住了,我只需要在这一件事上得到帮助。我知道,如果答案,这篇文章将对那些在网上寻找答案的人有帮助。
谢谢。
参见如何使用表格了解如何实现cellleditor。您还必须为此实现一个AbstractTableModel来保存状态。第一次做的时候并不容易。参见我的问题如何使JTable单元格中的JButton可单击?给一些提示。
但是你使用错误的复选框。如果要计算点击次数,JButton是更好的选择。
JTable应该使用自定义表模型,扩展AbstractTableModel
。它的setValueAt
方法应该这样实现:每次在给定行的布尔列中设置新值时,同一行的数字列的值递增。
参见http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#data了解如何实现表模型。
- 右键单击复选框。
- 从弹出菜单中,选择Events -> Action -> actionPerformed
- 在新创建的方法中,您可以添加要执行的代码。使用http://docs.oracle.com/javase/tutorial/uiswing/components/table.html来帮助你编辑你的表格。
data
的Object[][]
来创建表,则可以使用以下命令更新表:
data[row][col] = value;
table.fireTableCellUpdated(row, col);
我希望这对你有帮助!