Befehlsindentifikation eines Controls nur via setActionCommand?!



  • Hallo zusammen!

    Arbeite mich gerade in Java ein und habe eine kleine Frage: Kann man einen Button-Klick (als Beispiel) nur mit Hilfe eines Strings identifizieren? Das ist doch eigentlich ziemlich inperformant im Gegensatz zu symbolischen Konstanten (so war ich es bisher aus C++ gewohnt) ➡ Speicherbedarf. (?)

    vielen Dank fürs Statement! 🙂


  • Mod

    Man sieht es sehr oft, dass Leute bei 5 Buttons oder so genau einen Listener haben, in dem sie dann mittels entsprechender String-Vergleiche zuerst überprüfen, von welchem Button nun ein Event ausgelöst wurde.

    Solche String-Vergleiche kann man aber sehr schnell umgehen: Nimm einfach 5 Listener. Für jeden Button einen eigenen. Typischerweise würde man dafür dann auch anonyme innere Klassen als Listener nehmen.

    Abgesehen davon gibt es in einer Superklasse von ActionEvent auch noch eine Methode getSource. Die könnte einen auch von diesen String-Vergleichen befreien.



  • Gut danke. Also 5 Listener-Klassen Objekte lösen das Problem eher nicht. Verbraucht ja auch Speicher (mehr oder minder [...] ich weiß^^). Aber die Sache mit getSource sieht interessant aus! Danke 👍 .


  • Mod

    Noobiey schrieb:

    Gut danke. Also 5 Listener-Klassen Objekte lösen das Problem eher nicht. Verbraucht ja auch Speicher (mehr oder minder [...] ich weiß^^). Aber die Sache mit getSource sieht interessant aus! Danke 👍 .

    Vergiss den Speicherverbrauch. Das ist keine Stelle, die Deinen Speicher wirklich auslastet. Wenn Du sauberen Code schreiben willst, dann nimmst Du 5 Listener. 😋 😃



  • Programmierst du für ein Handy? Aber selbst die haben eigentlich genug Speicher für sowas.



  • Also dieses Argument "genug Speicher" kann auch echt nur von Java-Programmierern kommen 😃 ...


Anmelden zum Antworten