首页 > 解决方案 > 将字符串数组添加到 JList

问题描述

我试图将我的字符串数组放在 JList 中,但没有任何反应。我究竟做错了什么?

JList<String> list = new JList<String>();
list.setBounds(22, 111, 190, 395);
jpPanel.add(list);

btnTestList.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {

                String [] testArray = {"a","b","c"};
                list.setListData( testArray);
}
        });

标签: javaarraysswingjlistwindowbuilder

解决方案


你的代码是好的,尝试通过代码在其他地方寻找错误。这是一个示例,证明您的这部分代码确实可行,这可能会帮助您找到错误。

public class NewJPanel extends JFrame {
public NewJPanel() {
    this.setSize(400, 300);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);

    Container container = this.getContentPane();
    JPanel jpPanel = new JPanel ();
    container.add(jpPanel);

    GridBagLayout gridBagLayout = new GridBagLayout();
    jpPanel.setLayout(gridBagLayout);

    JButton btnTestList = new JButton("New button");
    jpPanel.add(btnTestList);

    JList<String> list = new JList<String>();
    GridBagConstraints gbc_list = new GridBagConstraints();
    gbc_list.fill = GridBagConstraints.BOTH;
    gbc_list.gridx = 0;
    gbc_list.gridy = 1;
    jpPanel.add(list, gbc_list);

    btnTestList.addActionListener(new ActionListener () {
        public void actionPerformed(ActionEvent e) {
             String [] testArray = {"a","b","c"};
             list.setListData( testArray);
        }
    });   
}


public static void main(String[] args) {
    NewJPanel jPnl = new NewJPanel ();
    jPnl.setVisible(true);
}
}

推荐阅读