Как создать ресурс RDF для каждого элемента поля со списком? - PullRequest
0 голосов
/ 14 июля 2020

У меня такой фрейм:
myframe

Кнопка «добавить» позволяет динамически добавлять поля со списком, это ее код:

add.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                c4 = new JComboBox();
                req1();
                panel_2.add(c4);
                panel_2.revalidate();
            }

Я хочу создать ресурс RDF для каждого элемента поля со списком, которые я добавляю в свой фрейм динамически, но проблема в том, что когда я добавляю, например, 2 поля со списком, будет создан только один ресурс RDF. Это код кнопки «сгенерировать RDF»:

    btnGenerateRdf.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                String u = c2.getSelectedItem().toString();//item of the first combo box
                String un = c4.getSelectedItem().toString();// item of the combo box that will be added dynamically
                Model model = ModelFactory.createDefaultModel();
    
                String u1 = u.substring(u.lastIndexOf("#") + 1);//to get the name from the URI 
                String str=u1.replace('_',' ');
                String un2=un.substring(un.lastIndexOf("#") + 1);
                String str1=un2.replace('_',' ');
                
                
    Resource node = model.createResource(u) .addProperty(FOAF.name, str);//resource of the the first combo box
           Resource[] r = new Resource[panel_2.getComponentCount()];    
         for(int i=0 ;i<panel_2.getComponentCount();i++)    
            { 
            r[i]= model.createResource(un).addProperty(FOAF.name, str1);
             }
       
          try {
                FileOutputStream out = new FileOutputStream("C:\\Users\\nasro\\Desktop\\file.xml");
                model.write(out,"RDF/XML");
                out.close();
                
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
          
          
            }
        });

Кто-нибудь может мне помочь?

...