Witam serdecznie,
Probuje dodawac kolejne JLabele w momencie gdy moja Mapa sie powieksza o kolejne wpisy. Wpisy dodaje za pomoca buttona i action listenera. W terminalu widzę, ze wpisy dodaja się jak należy i moge wyswielic cala mapę. Teraz tak w przypadku gdy jest pierwszy wpis startuje kolejne JFrame z tym jednym wpisem, a gdy dochodza kolejne wpisy chciałbym dodawać kolejne JLabele do tego JFrame "f". Ale wyskakuje blad:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
Poniżej wrzucam fragment kodu:
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == button1) ;
currentdata = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-mm-dd HH:mm:ss");
licname = nameField.getText();
// System.out.println(licname);
testmap.put(licname, currentdata);
System.out.println(testmap);
if (testmap.size() == 1) {
Rest rest = new Rest();
try {
rest.getLicense(licname, currentdata);
} catch (IOException ex) {
throw new RuntimeException(ex);
} catch (XMLStreamException ex) {
throw new RuntimeException(ex);
}
}
if (testmap.size() >1 ){
System.out.println("wiecej danych");
JLabel[] label = new JLabel[testmap.size()];
for (int i = 0; i <= testmap.size(); i++) {
label[i] = new JLabel();
label[i].setIcon(new ImageIcon("C:/Users/Aka/Downloads/app1/app1/src/main/java/com/example/app1/dmsbb/images/tab.jpg"));
label[i].setFont(new Font("Verdana", Font.PLAIN, 18));
label[i].setHorizontalTextPosition(JLabel.CENTER);
label[i].setVerticalTextPosition(JLabel.CENTER);
label[i].setBounds(10, 140 + (i * 10), 200, 50);
f.add(label[i]);
}
}
Z gory dzieki za pomoc!