如何在jList中存储多个字符串

时间:2013-02-24 21:07:56

标签: java eclipse swing jlist listselectionlistener

我如何表示多个字符串行代码,例如,如果我已经创建了一个jlist并使用String来复制存储在字符串中的值以显示在Jtextfield上我可以创建另一个字符串行来显示电影价格另一个Jtextfield,同时选择jList值:在Jlist中,我选择了一个组件,它将在Jtextfield中显示组件,另一个jTextfield中显示价格?

    jList99.setModel(new AbstractListModel() {

        String[] strings = {"mouse,keyboard"};
        public int getSize() { return strings.length; }
        public Object getElementAt(int i) { return strings[i]; }
    });
    jList99.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent evt) {
            jList1ValueChanged(evt);        
        }
    });


private void jList1ValueChanged(ListSelectionEvent evt) {     

     if(!jList99.getValueIsAdjusting())
     { 
          jTextField9.setText((String) jList99.getSelectedValue());
     }
}

1 个答案:

答案 0 :(得分:2)

您的JList不必包含简单的String对象。您可以使用以下自定义对象来实现目标:

class MovieInfo {
    private String name;
    private String price;

    // insert appropriate getters and setters here

    public String toString() {
        return name + " " + price;
    }
}

这些对象将在JList中显示其toString值,但是当您调用(MovieInfo)getSelectedValue()时,您可以直接访问名称和价格。