SWT Button --> große Probleme!!

Status
Nicht offen für weitere Antworten.

Prengepower

Aktives Mitglied
Hi!

Ich habe eine kleine Aufforderung geschrieben, dass bei einem Button der Text geändert werden soll, bzw. Buttons aktiviert oder deaktivert werden sollen. Der Button ist als public Button btnMaster bzw. btnWaiter deklativert.

Java:
if (username.equals(de.hwrberlin.jemm.Activator.user.name) && IP.equals(clientAddr)){
		            		   new de.hwrberlin.jemm.views.User().beMaster();
		            		   new de.hwrberlin.jemm.views.User().btnMaster.setText("Master abgeben");
		            		   masterStatus = true;
		            	   }else{
		            		   new de.hwrberlin.jemm.views.User().btnMaster.setEnabled(false);
		            		   new de.hwrberlin.jemm.views.User().btnBewerben.setEnabled(true);
		            		   masterStatus = false;
		            	   }

Ich habe erst den Button versucht direkt in der Klasse User() zu verändern - ging nicht. Außerdem wollte ich einen Boolean Status dort abfragen - ging auch nicht. Ich kann dort auch nicht btnMaster.getText() ausführen. Dabei bringt er mir seltsamer Weise eine NullPointerException.

Woran liegt das?!?!?!
 
Ich hoffe nicht, dass du hier einen Designfehler begangen hast.
Code:
static
ist nur in wenigen Fällen sinnvoll.
 
was vielleicht an dem seltsamen Code wie
> new de.hwrberlin.jemm.views.User().beMaster();
> new de.hwrberlin.jemm.views.User().btnMaster ..
liegt,

das gibts fast nirgenwo, dass man ständig Objekte neu erzeugt,
vielleicht soll der erste Aufruf den Button initialisieren, mit dem zweiten greifst du darauf zu,
wenn das aber an verschiedenen Objekten passiert, ist ja klar, dass ohne den aller letzten gefährlichen Notnagel static nix geht,

programmiere normal:
User u = new User();
u.initalisiereAllesWichtige();
u.getButton(); // ist nun vorhanden
 
was vielleicht an dem seltsamen Code wie
> new de.hwrberlin.jemm.views.User().beMaster();
> new de.hwrberlin.jemm.views.User().btnMaster ..
liegt,

das gibts fast nirgenwo, dass man ständig Objekte neu erzeugt,
vielleicht soll der erste Aufruf den Button initialisieren, mit dem zweiten greifst du darauf zu,
wenn das aber an verschiedenen Objekten passiert, ist ja klar, dass ohne den aller letzten gefährlichen Notnagel static nix geht,

programmiere normal:
User u = new User();
u.initalisiereAllesWichtige();
u.getButton(); // ist nun vorhanden

mmh okay.. aber was is denn an static so "gefährlich"?
 
z.B. sich daran zu gewöhnen,
wenn du irgendwann mal zwei Objekte einer Klasse mit unerschiedlichen Inhalt haben willst, bist du aufgeschmissen,
stell die vor die Klasse Button würde ihren Text und alles andere statisch speichern, du könntest im ganzen Programm nur einen haben
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben