gpt4 book ai didi

java - 自动完成 JComboBox (Java2S) 在更改事件上设置错误的值

转载 作者:行者123 更新时间:2023-12-01 15:03:36 25 4
gpt4 key购买 nike

引用 Question !作者:abg,答案:mKorBel。

并使用 J2 Auto Complete Combo Box !

mKorBel 对于我的案例的答案中的代码在以下代码中存在另一个问题,当我编辑第三行时,它工作正常,但是当我单击第一行进行编辑时,它将第一行的值设置为选定的第三行行。

    comboBox.addActionListener(new ActionListener() 
{

public void actionPerformed(ActionEvent e)
{

JComboBox comboBox = (JComboBox) e.getSource();
String itemStr= comboBox.getSelectedItem().toString();
int selectedRowLocal= tblDetailInfoParts.getSelectedRow();

if (selectedRowLocal != -1)
{
if ((itemStr != null) && (itemStr.compareTo("") != 0) )
{
tblDetailInfoParts.setValueAt(itemStr, selectedRowLocal, 15);
}

}

}
});

最佳答案

我没有将操作监听器添加到组合框(即添加到 JTable),而是添加了 Rob Camick's Table Cell Listener !在我添加组合框的单元格中,我听到了非常适合我的更改。 (这是我之前关于 Java2s Autocomplete Combo Box 问题的评论中指出的,作者是 @mKorbel)

 private void formWindowOpened(java.awt.event.WindowEvent evt) 
{
AddingPartsChangeEvent();
}

我的 JTable 的表格单元监听器的代码如下

   private void addingPartsChangeEvent() 
{

Action actionProd = new AbstractAction()
{

public void actionPerformed(ActionEvent e)
{
try
{
boolean newChk = false;
TableCellListener tcl = (TableCellListener) e.getSource();
int selectedRow = tcl.getRow();
int selectedCol = tcl.getColumn();

if (selectedCol == 4)
{
Object partO = tcl.getNewValue();
String design = null;
String partStr = partO.toString();
tblDetailInfoParts.setValueAt(partStr,selectedRow, 15) ;
}

}
catch (Exception ex)
{
ex.printStackTrace();
}
}
};
TableCellListener tclProd = new TableCellListener(tblDetailInfoParts,
actionProd);
}

关于java - 自动完成 JComboBox (Java2S) 在更改事件上设置错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13285809/

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