gpt4 book ai didi

java - 区分大小写的 jcombobox

转载 作者:行者123 更新时间:2023-12-02 00:22:27 24 4
gpt4 key购买 nike

我的问题有点棘手。我正在使用 Editable JComboBox 。它可能包含区分大小写的项目。例如,它可能有 Item1item1 。因此,就我而言,这两项应该被视为不同的。

但问题是,这两项被视为相同。无论我选择哪个项目,它总是选择第一个( Item1 )。我在谷歌中搜索过,但没有找到任何解决方案。这就是为什么,我在这里。

代码:

//loading of Items
jdcbmItemType = new javax.swing.DefaultComboBoxModel(ItemTypeHandler.getItemTypeComboData(MainFrame.companyId));

private void jcbItemTypeMouseReleased(MouseEvent evt)
{
if (jcbItemType.getSelectedIndex() != -1)
{
loadItemTypeDetails(((ItemObject) jcbItemType.getSelectedItem()).getId());
}
else
{
resetFields();
}
}

public static Vector<ItemObject> getItemTypeComboDataV(BigInteger companyId, BigInteger categoryId, boolean addFirstElement, TriState deleted) throws ExceptionWrapper, EJBException
{
try
{
return (Vector<ItemObject>)lookupItemTypeFacade().getItemTypeComboData(companyId, categoryId, addFirstElement, deleted);
} catch (ExceptionWrapper exceptionWrapper)
{
throw exceptionWrapper;
} catch (EJBException ejbEx)
{
throw ejbEx;
} catch (Exception ex)
{
throw new ExceptionWrapper(ex.getMessage());
}
}

ItemObject是一个自定义类,其中一个字段是 BigInteger另一个是 String .

getItemTypeComboData运行正常。因此,您可以假设获得 ItemObject 的列表从这里,它会很好地将其转换为 Vector<ItemObject>

jcbItemType.getSelectedIndex()始终为 Item1 返回相同的索引和item1 。但它返回 item2 的不同索引.

我知道,如果能用 itemStateChanged 就更好了事件。但就我而言,我无法使用它。但我的问题是,MouseReleasedFocusLost对于不同的名称字符串可以正常工作,但对于不同大小写的相同字符串则不行。我真的很迷茫。

另一种提问方式:

MouseReleasedFocusLost事件检查是否区分大小写的项目?

如何解决这个问题?

谢谢。

最佳答案

这是我的 SSCCE这工作正常,如果这不是您要找的,然后发布您的 SSCCE为了更好更快的帮助!

<小时/>
import javax.swing.*;
import java.awt.event.*;

public class ComboBoxTest {

JComboBox combo;
JTextField txt;

public static void main(String[] args) {
new ComboBoxTest();
}

public ComboBoxTest() {
String items[] = {"Item1", "item1"};
JFrame frame = new JFrame("JComboBox Case-sensitivity Test");
JPanel panel = new JPanel();
combo = new JComboBox(items);
combo.setEditable(true);

txt = new JTextField(10);
panel.add(combo);
panel.add(txt);
frame.add(panel);
combo.addItemListener(new ItemListener() {

@Override
public void itemStateChanged(ItemEvent ie) {
String str = (String) combo.getSelectedItem();
txt.setText(str);
}
});
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 100);
frame.setVisible(true);
}
}

关于java - 区分大小写的 jcombobox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10679829/

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