gpt4 book ai didi

java - 在 jTable 内的组合框中触发 itemStateChanged 事件

转载 作者:行者123 更新时间:2023-11-30 04:13:38 25 4
gpt4 key购买 nike

我的问题是我想在 jTable 内的组合框上有一个 itemSateChanged 监听器。当我更改组合框的值时,我希望将数据添加到 jTable 相关行中的单元格中。

这是创建组合框的代码。

public void setUpSectionColumn(JTable table, TableColumn statusColumn) {
//Set up the editor for the sport cells.
JComboBox comboBox = new JComboBox();
comboBox.addItem("Lending");
comboBox.addItem("Childen Lending");
comboBox.addItem("Reference");
comboBox.addItem("Special Collection");

statusColumn.setCellEditor(new DefaultCellEditor(comboBox));

//Set up tool tips for the sport cells.
DefaultTableCellRenderer renderer =
new DefaultTableCellRenderer();
renderer.setToolTipText("Click for combo box");
statusColumn.setCellRenderer(renderer);
}

这是我为监听器提出的方法,但不起作用。

public void fillTable2() {
jTable2.getModel().addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent evt) {
int row = jTable2.getSelectedRow();
String section;
if (row == -1) {
section = "Lending";
} else {
section = jTable2.getValueAt(row, 3).toString();
}
int accessNo = bdao.getLastAccessNo(section);
DefaultTableModel model = (DefaultTableModel) jTable2.getModel();
Object[] rowdata = {Integer.toString(accessNo), "", ""};
model.addRow(rowdata);
}
});
}

最佳答案

正如所讨论的here ,您可以使用 JComboBox 作为 TableCellEditor。有一个例子here使用DefaultCellEditor

image

关于java - 在 jTable 内的组合框中触发 itemStateChanged 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18968661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com