【问题标题】:How to bind an array to JComboBox dynamically?如何将数组动态绑定到 JComboBox?
【发布时间】:2013-10-12 23:47:03
【问题描述】:

我将一个数组绑定到JComboBox,如下所示:

String[] arr={"ab","cd","ef"};
final JComboBox lstA = new JComboBox(arr);

但我想将数组动态绑定到JComboBox,如下所示:

final JComboBox lstA = new JComboBox();
void bind()
{
    String[] arr={"ab","cd","ef"};
    // bind arr to lstA     
}

怎么做?

【问题讨论】:

    标签: java arrays swing jcombobox comboboxmodel


    【解决方案1】:

    使用动态 ComboBoxModel 构建您的 JComboBox

    JComboBox(ComboBoxModel<E> aModel)
    

    点赞http://docs.oracle.com/javase/7/docs/api/javax/swing/DefaultComboBoxModel.html

    m=new DefaultComboBoxModel();
    j=JComboBox(m);
    

    然后您可以添加和删除元素:

    m.addElement("ab")
    m.addElement("cd")
    

    或者,如果您只需要将数组放入组合框中:

    new JComboBox(new Sring[]{"ab","cd","ef"})
    

    【讨论】:

      【解决方案2】:
      final JComboBox lstA = new JComboBox();
      void bind()
      {
        String[] arr={"ab","cd","ef"};
        // bind arr to lstA 
        lstA.setModel(new DefaultComboBoxModel<String>(arr));    
      }
      

      【讨论】:

        【解决方案3】:

        有点奇怪的解决方法(我的:)),可能对你有用

        final JComboBox lstA = new JComboBox();
        String[] arr={"ab","cd","ef"};
        lstA.setModel(new JComboBox(arr).getModel());
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-12-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-28
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多