hallo zusammen,
ich habe mich hier durch einige posts geklickt, aber leider keine antwort auf mein problem gefunden.
in meinem programm gibt es berechtigungen.
alle vorhandenen berechtigungen stehen in einem vector (also in der einen jlist).
die berechtigungen die ein benutzer besitzt stehen in einem anderen vector (in der zweiten jlist). beide listen haben jeweils ein eigenes listmodel mit dem ich die daten verwalte.
bis dahin funktioniert auch alles!
BEISPIEL:
in der einen jlist stehen die rechte des benutzers (kundenAnlegen, kundenSehen)
in der anderen jlist stehen ALLE möglichen rechte (kundenBearbeiten, kundenLöschen,...)
PROBLEM:
ich möchte per doppelklick bzw. button die berechtigungen verteilen.
allerdings werden die daten der einen jlist nach dem ersten klick auf den button zur verteilung nicht mehr dargestellt.
im jeweiligen model (dort im vector) sind die daten aber richtig verteilt. zumindest gibt mir system.out die daten vor bzw nach einer änderung korrekt aus.
die jlist mit den rechten des benutzers wird aber ohne inhalt angezeigt!!
MEIN LÖSUNGSANSATZ:
Button-ActionListener:
Model:
[EDIT] -> ich habe zur veranaschaulichung noch ein vorher-nachher-bild angehängt...
ich habe mich hier durch einige posts geklickt, aber leider keine antwort auf mein problem gefunden.
in meinem programm gibt es berechtigungen.
alle vorhandenen berechtigungen stehen in einem vector (also in der einen jlist).
die berechtigungen die ein benutzer besitzt stehen in einem anderen vector (in der zweiten jlist). beide listen haben jeweils ein eigenes listmodel mit dem ich die daten verwalte.
bis dahin funktioniert auch alles!
BEISPIEL:
in der einen jlist stehen die rechte des benutzers (kundenAnlegen, kundenSehen)
in der anderen jlist stehen ALLE möglichen rechte (kundenBearbeiten, kundenLöschen,...)
PROBLEM:
ich möchte per doppelklick bzw. button die berechtigungen verteilen.
allerdings werden die daten der einen jlist nach dem ersten klick auf den button zur verteilung nicht mehr dargestellt.
im jeweiligen model (dort im vector) sind die daten aber richtig verteilt. zumindest gibt mir system.out die daten vor bzw nach einer änderung korrekt aus.
die jlist mit den rechten des benutzers wird aber ohne inhalt angezeigt!!
MEIN LÖSUNGSANSATZ:
Button-ActionListener:
Code:
btnRechtErteilen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Berechtigung recht = (Berechtigung) allerechte.getSelectedValue();
rechteListenModell.addElement(recht);
allerechte.clearSelection();
alleRechteListenModell.removeElement(recht);
allerechte.repaint();
benutzerrechte.repaint();
if (alleRechteListenModell.getSize() <= 0) {
btnRechtErteilen.setEnabled(false);
}
else {
btnRechtErteilen.setEnabled(true);
}
}
});
Model:
Code:
public void addElement(Berechtigung recht) {
System.out.println("anzahl vor add: "+berechtigungen.size());
berechtigungen.add(recht);
System.out.println("anzahl nach add: "+berechtigungen.size());
System.out.println("Rechte nach add: "+berechtigungen.toString());
}
public void removeElement(Berechtigung recht) {
System.out.println("anzahl vor remove: "+berechtigungen.size());
berechtigungen.remove(recht);
System.out.println("anzahl nach remove: "+berechtigungen.size());
System.out.println("Rechte nach remove: "+berechtigungen.toString());
}
[EDIT] -> ich habe zur veranaschaulichung noch ein vorher-nachher-bild angehängt...
Anhänge
Zuletzt bearbeitet: