我在实施JTable
方面遇到了问题,特别是AbstractTableModel
。我可以创建和显示来自JTable
的数据,但我当前的情况与我通常情况不同。
我想要做的是让我的JTable
接受用户的输入,并且我想将其他组件放入JTable
让我们说每行都有JComboBox
,JTextField
和JCheckBox
,但是当我开始实施JTable
模型(AbstractTableModel
)时我不知道如何将这些组件放到我的JTable
?
由于getValue
返回类型的方法AbstractTableModel
是对象数据类型。你有没有针对这类问题的解决方法以及我讨厌使用DefaultTableModel
的方法,因为它尽可能地缺乏灵活性我希望AbstractTableModel
:)帮助非常感谢。
答案 0 :(得分:2)
您一定要从How to Use Tables开始,并在那里学习examples。虽然JTable
不是电子表格,但可以计算表格模型中的派生值。这个example显示了如何使用JComboBox
更新同一行中的其他单元格,这些examples同样对比了您提到的两个TableModel
实现。最后,您可以使用可用的ScriptEngine
来评估简单的算术表达式。例如,下面的示例打印42.0
。
ScriptEngine engine = mgr.getEngineByExtension("js");
try {
System.out.println(engine.eval("5 * 8 + 2"));
} catch (ScriptException ex) {
ex.printStackTrace(System.err);
}