listener für boolean?

  • Themenstarter Themenstarter 1993maik1993
  • Beginndatum Beginndatum
1

1993maik1993

Hi leutz,

ich habe mal ne frage, ist es möglich ein listener auf einen boolean zu setzen,
bzw. anders gefragt, welchen listener brauche ich dafür?

ich möchte das wenn der boolean von z.b. true auf false gesetzt wird
eine methode ausgeführt wird.

mfg Maik
 
es wird bestimmt irgendwie gehen, bloß fällt mir dafür momentan keine lösung ein, und mit einem listener, wie ich es oben beschrieben habe wäres es wahrscheinlich auch um einiges leichter
 
Wozu willst du denn einen Listener machen den du manuell auslösen musst? Du kannst doch viel besser die Methode (wie von MiMi vorgeschlagen) gleich direkt auslösen. Leichter geht es eigentlich nicht.
 
ja ich weiß das ja alles, okay dann beschreib ich euch mal mein problem genauer:

ich habe zwei klassen, in der mainklasse hatte ich zuerst auf den button mit einem getter ein actionlistener geaddet und in der klasse (picturelabel) habe ich ebenfalls einen geaddet, ich habe viele picturelabel´s und auf jedem ein actionlister, in der mainklasse speichere ich alle diese picturelabels in einer arraylist. nun setze ich mit dem actionlistener (per buttonklick) in der picturelabel klasse immer den boolean auf true oder false. wenn ich den boolean gesetzt habe möchte ich in der mainklasse die methode ausfüren um die liste auf diese booleans zu prüfen.

mein prob dabei war:
der actionlistener auf dem button wird in der mainklasse zuerst ausgeführt und dann in der picturelabel klasse, damit es klappen könnte müsste erst der in der picturelabelklasse ausgeführt werden und dann der in der mainklasse...
so kam ich dann irgendwann auf die idee mit dem listener für den boolean
 
Um es mal anders auszudrücken. Du möchtest Albert sagen dass er sein Auto waschen muss. Anstatt Albert direkt zu sagen dass er das tun soll, sagst du Cäsar dass er Albert sagen soll dass er sein Auto waschen muss, sobald Bernd Cäsar das sagt.
 
um es so auszudrücken wie du es eben getan hast, was ja nicht falsch ist:
ich möchte das auto waschen, aber er wäscht das auto und holt dann wasser

oder in meinem code dann:
mainklasse: prüft liste auf booleans
picturelabelklasse: setzt boolean.

ich weiß nicht wie ich die rein folge ändern kann in der die actionlistener ausgeführt werden, ich denke das geht auch nicht wirklich
 
Mainklasse:
Code:
public void addSetActionlistener() {
		actionlistener = new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				if (evt.getActionCommand().equals("Einloggen")) {
					loginDialog.setVisible(true);
				} else if (evt.getActionCommand()
						.equals("Logindaten speichern")) {
				} else if (evt.getActionCommand().equals("Bilder hinzufügen")) {
					addImages();
				} else if (evt.getActionCommand().equals("Entfernen")) {
					for (int i = 0; i < list.size(); i++) {
// an dieser stelle soll dann die methode ausgeführt werden, in der überprüft und entfernt wird
						System.out.println(list.get(i).isDeleted());
					}
				} else if (evt.getActionCommand().equals("Alle Bilder entfernen")) {
					removeAllImages();
				} else if (evt.getActionCommand().equals("Optionen")) {
					optDiag.setVisible(true);
				}
			}
		};
		loginItem.addActionListener(actionlistener);
		settingsItem.addActionListener(actionlistener);
		uploadButton.addActionListener(actionlistener);
		addImage.addActionListener(actionlistener);
		removeAllImages.addActionListener(actionlistener);
	}

picturelabel klasse:

Code:
public void addSetActionlistener() {
		actionlistener = new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				if (evt.getActionCommand().equals("Entfernen")) {
					isdeleted = true;
				}
			}
		};
		removeButton.addActionListener(actionlistener);
	}

wie gesagt, mein prob ist, es wird erst überprüft und dann gesetzt,
ich bräuchte aber erst setzten dann prüfen
 
Zurück