Java 将对象获取到Arraylist,DAO
我想将对象从Jlist(使用DefaultListModel)写入Arraylist,以便使用它保存/加载(流式)它们Java 将对象获取到Arraylist,DAO,java,object,arraylist,Java,Object,Arraylist,我想将对象从Jlist(使用DefaultListModel)写入Arraylist,以便使用它保存/加载(流式)它们 GUI 私有DefaultListModel dlm=新的DefaultListModel(); 专用JList列表=新JList(dlm); btnNewButton_1.addActionListener(新ActionListener(){ 已执行的公共无效操作(操作事件arg0){ 会议m; m=新会议((日期)微调器.getValue(),textArea.getTe
GUI
私有DefaultListModel dlm=新的DefaultListModel();
专用JList列表=新JList(dlm);
btnNewButton_1.addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件arg0){
会议m;
m=新会议((日期)微调器.getValue(),textArea.getText());
dlm.补充元素(m);
}
});
现在Jlist有了对象,数据类型正在开会。
如何将这些对象放入Arraylist,它应该是DAO的
DAO
private GUI g;
private void writeFile() {
ArrayList<Meeting> mList = new ArrayList<>();
for (Object meeting : Arrays.asList(g.dlm.toArray()))
{
mList.add((Meeting)meeting);
System.out.println(meeting);
}
}
DAO
私有guig;
私有void writeFile(){
ArrayList mList=新的ArrayList();
for(对象会议:Arrays.asList(g.dlm.toArray()))
{
列表添加((会议)会议);
系统输出打印(会议);
}
}
我试图在GUI上将dlm设置为private和public
下一步是创建一个文件并将Arraylist写入其中
最后,我设想一个存储Arraylist的文件,我认为当前代码中会出现NullPointerException。您需要GUI实例才能访问dlm。将方法
setGUI(GUI g)
添加到DAO中,并在DAO中调用writeFile()
之前使用此方法设置GUI实例。dlm应公开让其工作
public void setGUI(GUI g) {
this.g = g;
}
我不会说这是最好的设计,但它应该能工作
要获得更好的设计,请将模型值转换为GUI本身中的ArrayList,并使用ArrayList作为参数调用writeFile()
方法
刀
//不需要这个
//私有guig;
私有无效写文件(ArrayList mList){
//要保存到文件的代码
}
您的问题是:“现在Jlist有对象”-没有您的Jlist
有原始类型。只需将list
声明为JList
。要将其内容获取为List
,只需使用ArrayList mList=Collections.List(g.dlm.elements())代码>-无需手动复制。
public void setGUI(GUI g) {
this.g = g;
}
// Don't need this
//private GUI g;
private void writeFile(ArrayList<Meeting> mList) {
// Code to save to a file
}