gpt4 book ai didi

java - JComboBox 在下拉列表中导航选择项目

转载 作者:行者123 更新时间:2023-12-01 10:05:53 26 4
gpt4 key购买 nike

这是我的第一个问题,我对我的英语感到非常抱歉。我不想在 JComboBox 的下拉列表中导航显示“JComboBox 的主字段”中的所选项目(抱歉,不知道如何调用它,请参阅图像)。

这是我在列表中导航时发生的情况:

JComboBox

但我想要这样的东西:

JComboBox

当我按 Enter 或单击项目时,它会出现在主字段中。

这是我的代码:

import javax.swing.*;
import javax.swing.text.JTextComponent;
import java.awt.*;

public class ComboTest {

JFrame frame;
JPanel panel;
String[] choices = new String[]{
"Java",
"Python",
"C++",
"PHP",
"Perl"
};
JComboBox<String> comboBox = new JComboBox<>(choices);
JTextComponent textComponent;

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

public ComboTest() {

frame = new JFrame();
panel = new JPanel();
textComponent = (JTextComponent) comboBox.getEditor().getEditorComponent();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 150);
frame.setResizable(false);

panel.setLayout(new FlowLayout());

comboBox.setEditable(true);
comboBox.setSelectedItem(null);

panel.add(comboBox);
frame.add(panel);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}

最佳答案

尝试这个代码块

   comboBox.addPopupMenuListener(new PopupMenuListener() {

@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
//when Popupmenu is visible, remove the combobox editor text
comboBox.getEditor().setItem(null);

}

@Override
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
}

@Override
public void popupMenuCanceled(PopupMenuEvent e) {
}
});

关于java - JComboBox 在下拉列表中导航选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36483654/

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