javafx button array frage?

... komplette Frage anzeigen

1 Antwort

Mit einem normalem for Loop über den Array gehen und jedes Mal testen ob der Button der jetzigen Position im Array entspricht, dann ausgeben.

Du kannst auch in den Text die Zahl einbringen oder die Button Klasse erweitern und eine neue Variable für die Position im Array hinzufügen, beides würde die Performance enorm verbessern.

Wenn du trotzdem bei der Methode bleiben willst, kannst du auch einfach ein Liste verwenden, da gibt es die indexOf Methode. (Eine Map kann man auch verwenden, und den Buttons darüber eine Nummer zuweisen, wäre auch performanter)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von gut4fr5g4
15.08.2016, 16:52

Meinst du so? (weil das funzt bei mir irgendwie nicht :C): 

for(int i = 0; i<100; i++){
    kästchen[i].setOnAction(new EventHandler(){
        public void handle(ActionEvent event1){
            instanz.Methode(i); 
        }
    });
}

Aber habe keinen zugriff auf "i"... :C 

0
Kommentar von androhecker
15.08.2016, 20:50

Nun, du erstellst eine neue Klasse, die einen EventHandler vom Typ ActionEvent erweitert, dieser gibst du einen Konstruktor, welcher eine int annimmt und als Objektvariable speichert. Wird die onAction Methode ausgeführt, hat man dann Zugriff auf die Methode. In Loop kann man dann einfach (je nach dem wie die Klasse heißt) new CustomHandler(i) machen.

0

Was möchtest Du wissen?