我正在制作一个GUI,为列表添加一个名称,然后我在主页上有一个JList,当我点击另一个帧上的按钮时,我希望它更新JList以显示最近添加的字符串到数组列表
的ArrayList:
private static ArrayList<String> name = new ArrayList<String>();
JList的:
JList lisName = new JList(name.toArray());
JButton我想更新列表:
JButton btnAdd = new JButton("Add");
btnAdd.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(txtName.getText() == null) {
JOptionPane.showMessageDialog(pnlName, "Error: Please enter name!");
}else{
name.add(txtName.getText());
nameFrame.setVisible(false);
}
}
});
感谢您提前提供任何帮助
答案 0 :(得分:1)
我建议你使用ListModel / TreeModel来处理JList,JTree等。
你可以做这样的事情:
DefaultListModel listModel = new DefaultListModel(name);
JList jList = new JList(listModel); //or setListModel(listModel)
如果您想要更新它,可以使用reload()
,validate()
或refresh()
。所以你可以刷新列表的模型,一切都会好的。
或者您可以创建新的listModel并设置您想要显示的新值。
由于问题类似于Stackoverflow上的其他问题,您可以查看此链接,这应该可以帮助您:
同时检查相关问题。我希望我能提供帮助。