【发布时间】:2012-05-15 02:03:44
【问题描述】:
我右键单击 JTable 并在一个糟糕的组合中将一些代码插入到“post listeners code”中。
我没有看到添加选项
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent evt) {
到 JTable 的“设计”视图中的“事件”。我确定有一种方法可以从设计视图中添加 valueChanged(ListSelectionEvent evt),但是如何?
也许是bug?
行选择更改事件由 ListSelectionModel 产生 JTable,而不是 JTable 本身 - 所以事件不能在 组件检查器(作为 JTable 的事件)。处理这个事件必须是 手动完成,例如喜欢:
jTable1.getSelectionModel().addListSelectionListener(
new javax.swing.event.ListSelectionListener() {
public void valueChanged(ListSelectionEvent evt) {
customRowSelectionEventHandler(evt);
}
}
);
虽然也许有办法在“蓝色”、“托管”代码之外为 JTable 获取 ListSelectionModel?
【问题讨论】:
-
你到底在问什么?你的问题中没有问号。另外,作为旁注,condense your code a little
-
如何通过 Netbeans 的“设计”视图将 valueChanged 监听器添加到 JTable?我在 GUI 构建器中没有看到该选项。
-
@Thufir:可以编译设计器源文件,但更改设计需要对应的
.form文件。即便如此,重建也是一种痛苦。此外,没有任何要求您将设计器用于一切,GroupLayout也不是强制性的。这是电锯:用它来切割踏板,而不是雕刻棋子。 -
好点。我喜欢用于 GUI 构建的“clicky”东西,但也许我会为我的 JTables 制作一个自定义 JPane,然后与设计师一起将它们添加到其他 JPane...?
-
@Thufir:没错,您可以将这样的面板添加到您的主布局中,如here 所示。更改面板的布局是了解不太常见的面板布局的好方法。
标签: java swing netbeans jtable netbeans-7