当前位置: 首页 > 知识库问答 >
问题:

如何通过可编辑的JCombobox鼠标点击弹出菜单中自动选择项目后修改JTextField的值

吕修伟
2023-03-14

我有一个可编辑的JCombobox。我已经完成了从数据库加载数据所需的操作。

searchCBX.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            if (e.getStateChange() == ItemEvent.SELECTED
                    && (".next.".equals(e.getItem()) || "-".equals(e.getItem()))) {
                searchTF.setText("");
            }
        }

    });

我正在尝试重写mouseListener,但它不起作用。

searchCBX.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent me) {
            if ((".next.".equals(searchTF.getText()) || "-".equals(searchTF.getText()))) {
                searchTF.setText("");

            }
        }
    });

那么,在鼠标单击jComboBox弹出菜单(其中有value)后,如何从searchTF中删除选定的数据。或者-。任何帮助都是非常感激的。

共有1个答案

宦烈
2023-03-14

根据我的理解,您需要删除searchTF的文本,一旦您选择了。next。或者-从SearchCBX的下拉列表中。如果是这样的话,您不需要担心这里的MouseListener。只有ItemStageChage事件可以完成这项工作。

以下是代码的必要部分:

public class Example extends JFrame {

private JComboBox searchCBX;
private JTextField searchTF;

/**
 * Creates new form Example
 */
public Example() {

    initComponents();

}

private void initComponents() {
    searchCBX = new JComboBox();
    searchTF = new JTextField();

    searchCBX.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent evt) {
            searchCBXItemStateChanged(evt);
        }
    });
}

private void searchCBXItemStateChanged(ItemEvent evt) {
    if (evt.getStateChange() == ItemEvent.SELECTED
            && (".next.".equals(evt.getItem()) || "-".equals(evt.getItem()))) {
        searchTF.setText("");
    } else {
        searchTF.setText(searchCBX.getSelectedItem().toString());
    }
}
}
 类似资料:
  • 我想知道如何选择listview first item select并通过单击按钮自动单击。 使用下面的代码,我可以选择第一行,但无法选择。 这是我的listview点击事件: 非常感谢您的帮助!如果有人想了解更多信息,请务必告诉我,以便我更新我的问题。

  • 问题内容: 当鼠标单击该文本字段时,我需要使该程序清除文本字段中的文本。我已经尝试了一些方法,但是还没有一个对我有用。 这是完整的代码: 问题答案: TL; DR 无论如何,注册和替代对我有用, 我希望这个例子能使您正确地开始!

  • 这可能是一个骗局——我找不到它——我基本上只是试图通过提供我自己的ListCellRenler来自定义JComboBox显示: 当我展开JComboBox列表时,组件会正确显示名称。但是,在选择项目时,显示将恢复为myObj的toString()值。 我错过什么了吗?

  • 我正在尝试将鼠标悬停在动画菜单上并在菜单中选择一个项目。我尝试先通过xpath在菜单上执行悬停,然后通过xpath执行单击菜单项,如下所示。 我有个例外 org.openqa.selenium.interactions。MoveTargetOutOfBoundsException:元素内的偏移量无法滚动到视图中 我还尝试将这些行为链接如下: 这也会引发相同的异常。 有什么想法来实现动画菜单项的点击

  • AutoHotKey2如何弹出菜单 选择后SendText这个选择?

  • 如何使组合框中的一个项目无法选择,因为我需要将组合框中的项目与子主题分开。 有可能单独修改特定项目的字体吗?