JavaFX Verschiedene Bereiche miteinander verknüpfen

RedEagle

Mitglied
Servus 🙂

Ich versuche einen Passwortmanager zu programmieren und das alles in Eclipse Scenebuilder. Jetzt bin ich aber auf die Frage gestoßen, wie man einzelne Bereiche miteinander verknüpft, ich visualisiere meine Frage mal damit das ganze verständlicher ist:


1601489782867.png
So sieht nun das Programm aus, klar Designtechnisch ist auf jeden Fall noch was zu verbessern. Zur verständlichkeit habe ich den Bereichen Zahlen zugeordnet. Alles Rote/Orangene ist nicht einprogrammiert, so soll es dann aber ungefähr aussehen.

Jedenfalls sollen nun, wenn ich in Bereich 1 auf eine Kategorie klicke in Bereich 2 alle Accounts auftauchen die ich in diese Kategorie eingetragen habe. Und wenn ich auf einen Account gedrückt habe, soll in Bereich 3 der Account auftauchen mit allem was man eben so eingetragen hat (Emailadresse, passwort, 2FA Codes, URL evtl., etc.). Ich weiß aber nicht, wie ich das realisieren soll. Zumal man über das Programm (hier nicht eingeblendet) über ein "+" Symbol in Bereich 2 Passwörter hinzufügen können soll.
Wüsste jetzt irgendwer einen Ansatz?

Danke schonmal im voraus :=)
 
Ich würde so etwas über das Model machen.

Du hast links z.B. verschiedene PW-Gruppen. Wenn eine neue PW-Gruppe aktiv gesetzt wird, muß das Model der View Bescheid geben daß sich etwas geändert hat und die View holt sich die neuen Daten bzw. ändert ihr Aussehen. Bzw. aktiviert eine andere Ansicht oder macht sonstwas passendes...
 
Schlussendlich über die Zwischenablage...

Aber deine Frage zielt ja auf etwas anderes ab... warte ich bastele da mal was.
Ich würde so etwas über das Model machen.

Du hast links z.B. verschiedene PW-Gruppen. Wenn eine neue PW-Gruppe aktiv gesetzt wird, muß das Model der View Bescheid geben daß sich etwas geändert hat und die View holt sich die neuen Daten bzw. ändert ihr Aussehen. Bzw. aktiviert eine andere Ansicht oder macht sonstwas passendes...
Danke euch, das mit dem Model klingt eigentlich recht plausibel. Ich probiere es mal aus und bin gespannt was @BestGoalkeeper daraus bastelt 😛
 
Servus 🙂

Ich versuche einen Passwortmanager zu programmieren und das alles in Eclipse Scenebuilder. Jetzt bin ich aber auf die Frage gestoßen, wie man einzelne Bereiche miteinander verknüpft, ich visualisiere meine Frage mal damit das ganze verständlicher ist:


Anhang anzeigen 14081
So sieht nun das Programm aus, klar Designtechnisch ist auf jeden Fall noch was zu verbessern. Zur verständlichkeit habe ich den Bereichen Zahlen zugeordnet. Alles Rote/Orangene ist nicht einprogrammiert, so soll es dann aber ungefähr aussehen.

Jedenfalls sollen nun, wenn ich in Bereich 1 auf eine Kategorie klicke in Bereich 2 alle Accounts auftauchen die ich in diese Kategorie eingetragen habe. Und wenn ich auf einen Account gedrückt habe, soll in Bereich 3 der Account auftauchen mit allem was man eben so eingetragen hat (Emailadresse, passwort, 2FA Codes, URL evtl., etc.). Ich weiß aber nicht, wie ich das realisieren soll. Zumal man über das Programm (hier nicht eingeblendet) über ein "+" Symbol in Bereich 2 Passwörter hinzufügen können soll.
Wüsste jetzt irgendwer einen Ansatz?

Danke schonmal im voraus :=)
Hi,

ich würde es so machen, die Bereiche:
  • Nummer 1: ListView1 für die Kategorien
  • Nummer 2: ListView2 für die Einträge der Kategorien. Die ListView in Nummer 2 soll auf die Selektierung von ListView Nummer 1 reagieren. In der Regel macht man das über ListView1.getSelectionModel().getSelectedItem().
  • Nummer 3 gibts ja schon. Das Anmeldefeld und Passwordfeld geht an sich genauso.
Code:
ListView2.getSelectionModel().selectedItemProperty().addListener((obs, oldValue, newValue))->{ 
    if(newValue!=null){
        textfieldAnmeldedaten.setText(newValue.getAnmeldedaten());
        textfieldPassword.setText(newValue.getPassword());
    }
});

Das ist jetzt mehr oder weniger nur ein Beispiel.

Du könntest zum Beispiel auch anstatt ein ListView eine HBox mit eigenen Inhalt füllen.

Viele Grüße
lam_tr
 
Mal als Beispiel, wie ich das gelöst habe:

Das Programm ist nicht im Ansatz fertig, das war nur eine Vorveröffentlichung um mal eine Meinung zum Code von anderen hier zu bekommen. Also erwarte nichts davon.

Vielleicht kannst du aber über die Interfaces nachvollziehen wie ich das gelöst habe:
Die View übergibt dem Controller ein Commandobjekt, der Controller führt das Commandobjekt aus und ackert auf dem Model herum. Anschließend wird die View über Änderungen benachrichtigt, und diese sortiert sich entsprechend neu.

Ich weiß jetzt nicht mehr was da der genaue Stand ist, es ist schon ein Weilchen her daß ich das letze Mal eingecheckt habe und das ist Programm ist auf meinem Rechner hier schon etwas weiter (und da habe ich dein Problem mittlerweile auch schon über verschiedene Panes gelöst), aber du müßtest mindestens sehen wie in der Mitte andere Daten als aktiv markiert werden. Oder die Ausgrauungen im Kontextmenü werden auf die gleiche Weise gewonnen.

PS:
Ich habe vom Programmieren relativ wenig Ahnung, ich weiß nicht wirklich wie andere das machen würden. Betrachte das daher bitte eher als Vorschlag. Ich habe aber einige Zeit in den Aufbau dieser MVC-Struktur gesteckt und auch ein paar Mal komplett abgerissen und neugebaut, bis ich zufrieden war und ich denke, so schlecht ist sie mittlerweile nicht. Ich würde es dennoch ausdrücklich nicht mal als Empfehlung darstellen - es gibt garantiert andere Möglichkeiten die genauso gut sind und bestimmt auch bessere.
 
Zuletzt bearbeitet:

Zurück
Oben