G
Gast
Gast
Moin.
Ich habe einge GUI, auf der ich zb. ein paar Slider habe. Am Slider hängt ein MouseListener. Damit prüfe ich, wann ich den Werte der manipuliert wird speichere. ( weil unter anderem nicht gespeichert werden soll, wenn sich der wert nicht geändert hat etc).
Speichern tu ich in Objekten mit speziellem namen.
Jetzt muss ich quasi für viele viele Slider den gleichen MouseListener basteln.
Anfangs dachte ich noch, ich kopier den Code, nehm nen anderen Objektnamen zum speichern und das ist gut so. Das blöde ist dann nur, dass ich haufenweise Mouselistener habe, die alle fast den gleichen code haben und sich nur darin unterscheiden, wodrin der wert gespeichert wird.
das ganze ist natürlich blöd so, schon alleine von der wartung her (wenn sich was ändert an der verarbeitung muss ich ja dann alle mouselistener editieren).
also dachte ich mir, ich schreib ne klasse wo ich den LIstener reinpacke, übergebe das Objekt in das gespeichert werden soll und häng den Listener dann an die slider.
Das ganze klappt nur leider nicht, krieg dann beim speichern immer ne null pointer exception. Liegt glaube ich daran, das Java ja nur Werte übergibt und keine Referenz auf das richtige Objekt.
kann ich das denn irgendwie so machen, dass ich dem MouseListener nen string für den Objektnamen übergeben wie zum beispiel "OS_wert_blub" und dann in der Listener Methode das entsprechende existierende Objekt rausgesucht wird und dann meineklasse.os_wert_blub geändert wird?
Ich habe einge GUI, auf der ich zb. ein paar Slider habe. Am Slider hängt ein MouseListener. Damit prüfe ich, wann ich den Werte der manipuliert wird speichere. ( weil unter anderem nicht gespeichert werden soll, wenn sich der wert nicht geändert hat etc).
Speichern tu ich in Objekten mit speziellem namen.
Jetzt muss ich quasi für viele viele Slider den gleichen MouseListener basteln.
Anfangs dachte ich noch, ich kopier den Code, nehm nen anderen Objektnamen zum speichern und das ist gut so. Das blöde ist dann nur, dass ich haufenweise Mouselistener habe, die alle fast den gleichen code haben und sich nur darin unterscheiden, wodrin der wert gespeichert wird.
das ganze ist natürlich blöd so, schon alleine von der wartung her (wenn sich was ändert an der verarbeitung muss ich ja dann alle mouselistener editieren).
also dachte ich mir, ich schreib ne klasse wo ich den LIstener reinpacke, übergebe das Objekt in das gespeichert werden soll und häng den Listener dann an die slider.
Das ganze klappt nur leider nicht, krieg dann beim speichern immer ne null pointer exception. Liegt glaube ich daran, das Java ja nur Werte übergibt und keine Referenz auf das richtige Objekt.
kann ich das denn irgendwie so machen, dass ich dem MouseListener nen string für den Objektnamen übergeben wie zum beispiel "OS_wert_blub" und dann in der Listener Methode das entsprechende existierende Objekt rausgesucht wird und dann meineklasse.os_wert_blub geändert wird?