gpt4 book ai didi

java - 链接 JComboBox 和 JTable

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

要求:我在 ComboBox 中显示了一个字符串列表。这些字符串中的每一个都可以有一些属性。这些属性显示在 PropertyTable 中。 ComboBox 的选中项的属性显示在表格中。此外,我们使用 PropertyTable 来编辑或设置组合框中所选项目的属性值。

问题:当我取消选择组合框项时,比如 item1,PropertyTable 中的所有现有属性值都被设置为 item1 的新属性值。同样,当我重新选择此 item1 时,我应该将上述属性值(即取消选择 item1 之前的值)返回到 PropertyTable?

当前的实现逻辑:

我为每个 PropertyTableCell 使用 TableCellListner,每当更改单元格内容时,它都会采用单元格的新值并将其作为新属性值分配给组合框的选定项。 whenever new item is selected, table is refreshed with the selected Item's property values.

  //before is Table initialization code

Action action = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
TableCellListener table = (TableCellListener)e.getSource();
String selectedItem=(String)ComponentPropComboBox.getSelectedItem();
if(table.getColumn()==1 && selectedItem!=null)
{
Property property=propertyMap.get(selectedItem);

else if(table.getRow()==0)
{
property.setProperty("MIN_LENGTH", (String)table.getNewValue());
propertyMap.put(selectedItem, property);
}

else if(table.getRow()==1)
{
property.setProperty("STARTS_WITH_STRING", (String)table.getNewValue());
propertyMap.put(selectedItem, property);
}
}
}
};

TableCellListener tcl = new TableCellListener(PropertiesTable, action);

我如何通过克服上述挑战来实现此要求?

附言:TableCellListner 不是 java 泛型库。您可以在以下链接中查看代码及其说明:

我相信这个问题很明显!如果问题不清楚,请告诉我。在此先感谢您的帮助和贡献知识!

最佳答案

在监听 JComboBox 选择的代码中。在它开始时,它设置了一个 boolean 值,表明该项目正在被更改。然后让您的表刷新代码忽略设置 boolean 值时出现的事件。完成刷新后,再设置 boolean 值。

关于java - 链接 JComboBox 和 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3474036/

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