gpt4 book ai didi

java - 为 JComboBox 显示一个不可选择的默认值

转载 作者:搜寻专家 更新时间:2023-11-01 02:12:10 24 4
gpt4 key购买 nike

我有一个 JComboBox,其中包含三个项目 {"Personel", "Magasinier", "Fournisseur"}

我希望此 JComboBox 显示值 "Choisir une option :",这是一个不可选择的值。

我在 initComponents(); 之后试过这段代码:

this.jComboBox1.setSelectedItem("Choisir une option :");

但它不起作用。

我该怎么做?

最佳答案

您可以使用诸如以下 SSCCE 的代码覆盖 JComboBox 模型中的选择代码:

public class JComboExample {

private static JFrame frame = new JFrame();
private static final String NOT_SELECTABLE_OPTION = " - Select an Option - ";
private static final String NORMAL_OPTION = "Normal Option";

public static void main(String[] args) throws Exception {
JComboBox<String> comboBox = new JComboBox<String>();

comboBox.setModel(new DefaultComboBoxModel<String>() {
private static final long serialVersionUID = 1L;
boolean selectionAllowed = true;

@Override
public void setSelectedItem(Object anObject) {
if (!NOT_SELECTABLE_OPTION.equals(anObject)) {
super.setSelectedItem(anObject);
} else if (selectionAllowed) {
// Allow this just once
selectionAllowed = false;
super.setSelectedItem(anObject);
}
}
});

comboBox.addItem(NOT_SELECTABLE_OPTION);
comboBox.addItem(NORMAL_OPTION);

frame.add(comboBox);
frame.pack();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
frame.setVisible(true);
}
});
}
}

这将显示一个组合框,其中包含初始选择“- Select an Option -”。一旦用户选择了另一个选项,将无法再次选择原来的选项。

关于java - 为 JComboBox 显示一个不可选择的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16665688/

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