我正在编写一个程序,该程序使用多个自定义jpanels
来制作写字板。此jpanels
应该允许用户从颜色选择器中选择一种颜色,并将其从jlist
中添加或删除。为了使使用该jpanels
的窗口能够从jpanels
获取数据,我被指示为我的 DefaultListModel 和jlist
制作 setter 和 getter。我不知道如何使用这些类型来做到这一点。我已经看到了参数化 ArrayList 的 setter 和 getter 的例子,这似乎很有希望,但我仍然不明白如何将其应用于 listModel 和jlist
。
private ArrayList<String> stringlist = new ArrayList<String>();
public ArrayList<String> getStringList() {
return stringlist;
}
public setStringList(ArrayList<String> list) {
stringlist = list
}
检查这个。 如果我们有JList
和DefaultListModel
JList listvariable= new JList();
DefaultListModel model= new DefaultListModel<>();
现在这些是相同的getter和setter方法:
public DefaultListModel getModel() {
return model;
}
public void setModel(DefaultListModel model) {
this.model = model;
}
public JList getListvariable() {
return listvariable;
}
public void setListvariable(JList listvariable) {
this.listvariable = listvariable;
}
为了从JList获取选定的值,应该按照以下步骤操作:
- 创建一个扩展 JFrame 并实现 ActionListener 接口的类。
- 创建对象数组。这些将是 JList 的值。
- 使用上述数组创建一个新的 JList。
- 创建一个新的 JButton。将操作侦听器添加到按钮并重写操作已执行方法。现在,每次用户按下按钮时,此方法都会启动。
- 调用 getSelectedIndex 以获取 JList 中所选项的索引。
- 调用 getSelectedValue 方法以获取 JList 中所选项的值。