Добавить строковый массив в JList - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь поместить мой String Array в 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);
}
        });

1 Ответ

0 голосов
/ 30 декабря 2018

Ваш код в порядке, попробуйте найти ошибку где-нибудь еще в коде.Вот пример, который демонстрирует, что эта часть вашего кода действительно работоспособна, может быть, это поможет вам найти ошибку.

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);
}
}
...