У меня такой фрейм:
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();
}
}
});
Кто-нибудь может мне помочь?