Jak pro přístup k obrazu proměnnou v jiné tlačítko metoda v jazyce java fx

0

Otázka

openButton.setOnAction((final ActionEvent X) -> {
            File newfile = fileChooser.showOpenDialog(stage);

            Image userselectedimage = new Image(file.toURI().toString());

more code


 newactionbutton.setOnAction((final ActionEvent X) ->{
              * i need access to the user selected image variable here *
}
            

Potřebuji pro přístup k proměnné userselectedimage (to je obrázek vybraný uživatelem pro pozadí) v další tlačítko. je to možné, protože rozsah je definován v té onclick akci pro přístup k této proměnné v jiné tlačítko? Potřebuju to od jeho uživatelů vybraný obrázek (to je soubor, který uživatel vybere). Snažil jsem se definovat mimo metodu omezeně odolné proti statické proměnné, ale to taky nevyšlo, takže jsem se nápady.

díky.

java javafx
2021-11-23 20:03:17
1

Nejlepší odpověď

-1
Image userselectedimage = null;    
openButton.setOnAction((final ActionEvent X) -> {
            File newfile = fileChooser.showOpenDialog(stage);
            userselectedimage = new Image(file.toURI().toString());
}

 newactionbutton.setOnAction((final ActionEvent X) ->{
              userselectedimage.doSomething();
}
2021-11-23 20:15:53

Věřím, že tenhle kód by se nepodaří sestavit, protože userselectedimage je definován jako non-final lokální proměnné, pro které pokusy jsou provedeny přiřadit hodnotu v jednom lambda a referenční její hodnotu v jiném lambda. Viz: baeldung.com/java-lambda-effectively-final-local-variables
jewelsea

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................