Hé les gars Je n'ai aucune idée ce qui se passe? J'ajoute des anniversaires mais si je les appelle avec getHashMap par exemple je ne peux pas obtenir les éléments dans le menu swing de la classe. Je viens d'avoir des réflexions sur le problème. Je pense que c'est parce que j'appelle un nouvel événement dans une classe et que je publie le hashmap dans une autre classe que j'appelle aussi un nouvel événement. Mais je ne sais pas si j'ai raison?Impossible d'obtenir l'élément d'une HashMap qui est un nouveau puttet?
Peut-être toute solution m'aiderait. Si vous avez des questions alors s'il vous plaît demandez-moi. Pour moi, il est important d'apprendre quelque chose de nouveau. Il y a quelques showen court codé parce que ce n'est pas pertinent. Je débogue la classe swingFormatFunction et découvre que l'événement d'instance est null.
Cette partie ne sera pas ajoutée dans ma HashMap.
public class swingFormatFunction{
private Event event = new Event();
public void geburtstageFormatieren(String content) {
String formatContent = content.replace(';', ' ');
for (String s : formatContent.split("\n")) {
event.addBirthday(s.substring(0, 5).toString(), new Event(s.substring(12).toString()));
}
}
}
C'est mon menu où j'appelle un Menuitem et cliquez sur "ok". Cette fonction fonctionne bien, je reçois les éléments en sortie.
public class swingMenu{
okBTN.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == okBTN) {
dialog.dispose();
JDialog dialog = new JDialog();
dialog.setModal(true);
dialog.setTitle("Calendar Special Events");
int yearNumber = Integer.parseInt((String) yearCombobox.getSelectedItem());
JTextArea textArea = new JTextArea();
Event event = new Event(yearNumber);
StringBuilder stringBuilder = new StringBuilder();
for (Map.Entry entry : event.getEventMap().entrySet()) {
stringBuilder.append(entry.getKey() + " : " + entry.getValue() + "\n");
}
textArea.setText(stringBuilder.toString());
dialog.setContentPane(textArea);
dialog.pack();
dialog.setLocationRelativeTo(null);
dialog.setResizable(true);
textArea.setEditable(false);
dialog.setVisible(true);
}
}
});
C'est ma classe d'événement. Cette classe contient ma HashMap où je travaille avec.
public class Event{
private HashMap<String, Event> eventMap = new HashMap<>();
public Event(String name) {
this.name = name;
}
public Event(int year) {
addStrongMoveableHolidayInMap(year);
}
public Event() {
}
private void addMoveableHoliday(int year) {
/* Bewegliche Feiertage */
/*Rose monday (-48)*/
int daynumberOfEasterSunday = calenderFunction.easterSunday(year) - 48;
String gregorDate = calenderFunction.kalenderDatumFuerJD(daynumberOfEasterSunday);
String day = gregorDate.substring(0, 2);
String month = gregorDate.substring(3, 5);
String date = day + "." + month;
this.eventMap.put(date, new Event("Rosenmontag"));
}
private void addStrongHoliday(int year) {
/* Feste Feiertage */
this.eventMap.put("24.12", new Event("1. Weihnachtstag"));
}
void addStrongMoveableHolidayInMap(int year) {
addStrongHoliday(year);
addMoveableHoliday(year);
}
public void addBirthday(String year, Event event) {
this.eventMap.put(year, event);
}
public HashMap<String, Event> getEventMap() {
return eventMap;
}
}
J'espère que vous pouvez m'aider.
Cordialement Manuellsen
Alors, que demandez-vous exactement? Si vous nous demandez de déboguer votre code, alors ce n'est pas ce que Stack Overflow est pour. Si vous demandez quelque chose d'autre, veuillez le préciser (et retirer les morceaux de code qui ne correspondent pas à votre question spécifique). –
Nous ne pouvons pas répondre à une question que vous n'avez pas posée; Pardon. –
manicka comprendre ma question – ManuellsenDeve