gpt4 book ai didi

java - 如何通过 JTable 中的 JComboBox 获取选定值

转载 作者:行者123 更新时间:2023-11-29 07:55:37 25 4
gpt4 key购买 nike

我创建了一个带有 JComboBox CellEditor 列的 JTable。那很好用。但是,当我尝试通过组合框检索所选值时,我只得到鼠标在特定行中选择的值。我似乎无法在每行的基础上获得选定的值。这是我的代码:

  addressList = new ArrayList<>(); 
for(int currentRow = 0; currentRow < editAddressFrm.getAddressTable().getRowCount(); currentRow++)
{

//ADDRESS
offenderAddress = new MyAddress();


DefaultCellEditor ownerEditor = (DefaultCellEditor) editAddressFrm.getAddressTable().getCellEditor(currentRow, 1);
JComboBox ownerCb =(JComboBox) ownerEditor.getComponent();
ListItem selectedItem =(ListItem) ownerCb.getSelectedItem(); //HERE IS WHERE I HAVE THE PROBLEM.I AM NOT GETTING THE VALUE FOR THE SPECIFIC ROW

offenderAddress.setOwnerCode(selectedItem.getID());

offenderAddress.setLine1(
editAddressFrm.getAddressTable().getModel().getValueAt(currentRow, 2).toString()
);

offenderAddress.setLine2(
editAddressFrm.getAddressTable().getModel().getValueAt(currentRow, 3).toString() );

offenderAddress.setCity(
editAddressFrm.getAddressTable().getModel().getValueAt(currentRow, 4).toString() );
offenderAddress.setProvince(
editAddressFrm.getAddressTable().getModel().getValueAt(currentRow, 5).toString() );
offenderAddress.setPostalZone(
editAddressFrm.getAddressTable().getModel().getValueAt(currentRow, 6).toString() );
}

最佳答案

组合框仅用于编辑单元格。它不包含单元格的数据。

您需要从表中获取数据,方法是:

table.getValueAt(...);

table.getModel().getValueAt(...);

根据您的具体要求

如果您仍在编辑单元格,则数据可能尚未保存到模型中。要解决此问题,请参阅:Table Stop Editing .

关于java - 如何通过 JTable 中的 JComboBox 获取选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17957352/

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