gpt4 book ai didi

java - 使用 ComboBox 更新 JTable 中的特定单元格

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

我正在使用 DOM 解析器读取数据来更新 JTable。我有一个列 (ValidValues),它可能不一定位于 XML 中。

但是,如果从 XML 读取时找到此标记,我会获取该值并使用它来进行 SQL 查询以返回可用记录的 vector 。

然后,我希望使用读取标签的正确行上返回的值的特定组合框填充 JTable。例如,在从 XML 文档读入第 17 行之前,我可能无法读取标签。

我已经用相同的代码完成了两个类似的 JCombo 框,但它们保持不变,因此它们没有问题。

由于单元格之间的情况发生变化,我不确定如何继续,我浏览了 Oracle 教程,但它们似乎只演示了如何更改一列。进一步的研究也没有发现与该领域相关的任何内容。

通过 vector 更新常量 JComboBox 的代码:

        propColumn = table.getColumnModel().getColumn(ENV_PROPERTIES_COLUMN);
propComboBox = new JComboBox();
propComboBox.addItem("");
constructEnvProperties();
propColumn.setCellEditor(new DefaultCellEditor(propComboBox));

public void constructEnvProperties(){

IWM781EnvProfilePropertiesCtl ctl = new IWM781EnvProfilePropertiesCtl();

Vector<IWM781EnvProfileProperties> recordSet = ctl.getRecordSet("TestEnvXXX", con);

for(int i = 0; i < recordSet.size(); i++){
logger.debug(recordSet.get(i).getProp781Property());
propComboBox.addItem(recordSet.get(i).getProp781Property());
}
}

尝试使用变体组合框:

if(tableEntryElement.getElementsByTagName("ValidValues").item(0) != null){

// Build combo box based on <SystemCode> tag
logger.debug(tableEntryElement.getElementsByTagName("ValidValues").item(0).getTextContent());

TableColumn optionColumn = table.getColumnModel().getColumn(OPTION_COLUMN);

JComboBox optionComboBox = new JComboBox();
optionComboBox.addItem("");
constructOptions(tableEntryElement);
optionColumn.setCellEditor(new DefaultCellEditor(optionComboBox));
}

我知道这里的问题是:

     TableColumn optionColumn =  table.getColumnModel().getColumn(OPTION_COLUMN);

因为它引用了整个专栏,但任何想法都将不胜感激。

我还简要阅读了 TableColumn 的 API,我仍在阅读该 API,看看是否可以找到一种引用列的行的方法。

提前致谢

最佳答案

听起来有些行可能有不同的 JComboBox 值。您也许可以利用 TableComboBoxByRow 中所示的方法。 ,它重写 getCellEditor() 以提供所需的 editor对于某些行。

关于java - 使用 ComboBox 更新 JTable 中的特定单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20285448/

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