final ArrayList<SyberiadaZdarzenie> listaZdarzen = XMLParser.getXMLParser().getAllZdarzenie();
Collections.sort(listaZdarzen);
final Choice listaRozwijalna = new Choice();
for (int i = 0; i < listaZdarzen.size(); i++) {
SyberiadaZdarzenie zdarzenie = listaZdarzen.get(i);
listaRozwijalna.add(zdarzenie.getId()+"");
}
panel.add(listaRozwijalna);
MaskFormatter f = new MaskFormatter("****");
final JFormattedTextField idField = new JFormattedTextField(f);
idField.setColumns(4);
panel.add(idField);
JButton noweZdarzenie = new JButton("Nowe");
panel.add(noweZdarzenie);
JButton zapiszZdarzenie = new JButton("Zapisz");
panel.add(zapiszZdarzenie);
JButton nowaOpcja = new JButton("+Opcja");
panel.add(nowaOpcja);
this.add(panel, BorderLayout.PAGE_START);
final JTextArea tresc = new JTextArea();
JScrollPane scroll = new JScrollPane(tresc);
tresc.setLineWrap(true);
this.add(scroll, BorderLayout.CENTER);
final JPanel dolPanel = new JPanel();
dolPanel.setLayout(new GridLayout(0,1));
this.add(dolPanel, BorderLayout.PAGE_END);
this.validate();
this.repaint();
listaRozwijalna.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
idField.setText(listaRozwijalna.getSelectedItem());
String trescZdarzenia = listaZdarzen.get(listaRozwijalna.getSelectedIndex()).getZdarzenieText();
trescZdarzenia = clearText(trescZdarzenia);
tresc.setText(trescZdarzenia);
ArrayList<SyberiadaOpcja> opcje = listaZdarzen.get(listaRozwijalna.getSelectedIndex()).getListaOpcji();
dolPanel.removeAll();
for (int i = 0; i < opcje.size(); i++) {
SyberiadaOpcja opcja = opcje.get(i);
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
String opcjaText = opcja.getOpcjatext();
JTextField opcjaField = new JTextField();
opcjaField.setText(opcjaText);
panel.add(opcjaField, BorderLayout.CENTER);
int opcjaIdText = opcja.getOpcjaDo();
MaskFormatter f;
try {
f = new MaskFormatter("****");
final JFormattedTextField opcjaId = new JFormattedTextField(f);
opcjaId.setColumns(4);
opcjaId.setText(opcjaIdText+"");
panel.add(opcjaId, BorderLayout.LINE_END);
} catch (ParseException ex) {
Logger.getLogger(Frame.class.getName()).log(Level.SEVERE, null, ex);
}
dolPanel.add(panel);
}
validate();
repaint();
}
});
noweZdarzenie.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int max = 0;
for (int i = 0; i < listaRozwijalna.getItemCount(); i++) {
if (max<Integer.parseInt(listaRozwijalna.getItem(i))) {
max = Integer.parseInt(listaRozwijalna.getItem(i));
}
}
SyberiadaOpcja newOpcja = new SyberiadaOpcja("",0);
ArrayList<SyberiadaOpcja> listaOpcji = new ArrayList<SyberiadaOpcja>();
listaOpcji.add(newOpcja);
max++;
SyberiadaZdarzenie noweZdarzenie = new SyberiadaZdarzenie("", listaOpcji, max);
listaZdarzen.add(noweZdarzenie);
listaRozwijalna.removeAll();
Collections.sort(listaZdarzen);
for (int i = 0; i < listaZdarzen.size(); i++) {
SyberiadaZdarzenie zdarzenie = listaZdarzen.get(i);
listaRozwijalna.add(zdarzenie.getId() + "");
}
}
});
zapiszZdarzenie.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int selectedID = listaRozwijalna.getSelectedIndex();
SyberiadaZdarzenie zdarzenieDoZmiany = listaZdarzen.get(selectedID);
String noweIdStr = idField.getText().replaceAll("[\\D]", "");
zdarzenieDoZmiany.setId(Integer.parseInt(noweIdStr));
String text = tresc.getText();
text = text.replaceAll("\n", "<br/>");
text = text.replaceAll("\t", " ");
zdarzenieDoZmiany.setZdarzenieText(text);
ArrayList<SyberiadaOpcja> opcje = new ArrayList<SyberiadaOpcja>();
for (int i = 0; i < dolPanel.getComponentCount(); i++) {
JPanel panel = (JPanel) dolPanel.getComponent(i);
String trescOpcji = ((JTextField)panel.getComponent(0)).getText();
if (trescOpcji.equalsIgnoreCase("")) {
} else {
String trescDo = ((JFormattedTextField)panel.getComponent(1)).getText();
System.out.println(trescDo);
String doKad = ((JFormattedTextField)panel.getComponent(1)).getText().replaceAll("[\\D]", "");
int doKadInt = Integer.parseInt(doKad);
SyberiadaOpcja nowaOpcja = new SyberiadaOpcja(trescOpcji, doKadInt);
opcje.add(nowaOpcja);
}
}
zdarzenieDoZmiany.setListaOpcji(opcje);
listaRozwijalna.removeAll();
Collections.sort(listaZdarzen);
for (int i = 0; i < listaZdarzen.size(); i++) {
SyberiadaZdarzenie zdarzenie = listaZdarzen.get(i);
listaRozwijalna.add(zdarzenie.getId() + "");
}
listaRozwijalna.select(selectedID);
try {
XMLParser.getXMLParser().saveXML(listaZdarzen);
} catch (ParserConfigurationException ex) {
Logger.getLogger(Frame.class.getName()).log(Level.SEVERE, null, ex);
} catch (TransformerConfigurationException ex) {