gpt4 book ai didi

Java jcombobox 下拉列表中的不同文本和文本字段中的不同文本

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

我想创建一个具有以下外观行为的 jcombobox:
1) 在下拉列表中,每一行都应该是一个代码编号和一个项目名称。
2) 当用户选择其中一行时,在组合框的文本字段组件中,应该只显示代码编号而不是项目名称名称。 (Something like this)
我该怎么做?

提前致谢。

最佳答案

用两个步骤做到这一点并不难:

  1. 您的 JComboBox 项必须是对象,例如:

    public class Item {
    private String number;
    private String name;
    // Constructor + Setters and Getters
    }
  2. 一个 ListCellRenderer,它自定义如何在弹出列表或 JComboBox 的文本字段中呈现值:

        JComboBox<Item> jc = new JComboBox<Item>();
    jc.setRenderer(new ListCellRenderer<Item>() {
    @Override
    public Component getListCellRendererComponent(
    JList<? extends Item> list, Item value, int index, boolean isSelected, boolean cellHasFocus) {
    if(isSelected && list.getSelectedIndex () != index)
    return new JLabel(value.getNumber());

    return new JLabel(value.getNumber() +" "+value.getName());
    }
    });

祝你好运。

关于Java jcombobox 下拉列表中的不同文本和文本字段中的不同文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37110416/

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