java中的JComboBox 能不能像c#中的comboBox有DisplayMember和ValueMember属性?

 我来答
samismiling
2017-06-21 · 知道合伙人软件行家
samismiling
知道合伙人软件行家
采纳数:1340 获赞数:5602

向TA提问 私信TA
展开全部

原始的Swing控件里是没有的,你要自己写一个类继承自BasicComboBoxRenderer(例如名称叫ItemRenderer),然后在代码里写comboBox.setRenderer(new ItemRenderer());

value和display都是写在renderer里的。

  class ItemRenderer extends BasicComboBoxRenderer {
    public Component getListCellRendererComponent(JList list, Object value, int index,
        boolean isSelected, boolean cellHasFocus) {
      super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);

      if (value != null) {
        Item item = (Item) value;
        setText(item.getDescription().toUpperCase());
      }

      if (index == -1) {
        Item item = (Item) value;
        setText("" + item.getId());
      }

      return this;
    }
  }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式