Visualizzazione dei risultati da 1 a 10 su 17

Hybrid View

  1. #1
    ok, ho visto che si può ottenere lo stage dal top component del file fxml.
    quindi:
    codice:
    <VBox fx:id="uno" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.mp.testfx.ControllerUno">
    
    </VBox>
    poi:
    codice:
    public class ControllerUno {
    
        @FXML
    VBox uno;
    
        @FXML
    private void onBtnClicked() throws IOException {
            Parent root = FXMLLoader.load(getClass().getResource("due.fxml"));
            Stage stage = new Stage();
            stage.setTitle("Main");
            stage.setScene(new Scene(root, 500, 500));
            stage.setResizable(false);
            stage.show();
    
            Stage ss = (Stage) uno.getScene().getWindow();
            ss.setIconified(true);
        }
    
    }
    non so se intendevi altro!

    per quanto riguarda l'altra questione.
    io vorrei fare un metodo del genere, da richiamare ogni qual volta si debba aprire una finestra:
    codice:
    private void openWindow(String fileFxml, String title, int width, int height, boolean resiz) throws IOException {
        Parent root = FXMLLoader.load(getClass().getResource(fileFxml));
        Stage stage = new Stage();
        stage.setTitle(title);
        stage.setScene(new Scene(root, width, height));
        stage.setResizable(resiz);
        stage.show();
    }
    una cosa del genere.
    qui si passano come parametri le impostazioni basiche.
    ecco, dove mi converebbe mettere un metodo del genere??

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ok, ho visto che si può ottenere lo stage dal top component del file fxml.
    non so se intendevi altro!
    Sì, intendevo altro. Se usavi direttamente FXMLLoader (e non dal load statico), potevi prendere il controller e "iniettargli" tu lo Stage semplicemente mettendo campo e setter nel tuo ControllerUno.

    Quote Originariamente inviata da fermat Visualizza il messaggio
    io vorrei fare un metodo del genere, da richiamare ogni qual volta si debba aprire una finestra
    E va anche bene, non vedo nulla di palesemente errato.

    Quote Originariamente inviata da fermat Visualizza il messaggio
    ecco, dove mi converebbe mettere un metodo del genere??
    Puoi metterlo dove preferisci, anche come metodo statico di utilità (ma occhio, il getClass() non è più usabile, se statico)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Puoi metterlo dove preferisci, anche come metodo statico di utilità (ma occhio, il getClass() non è più usabile, se statico)
    si ho visto, dovrei fare una cosa del genere:
    codice:
    public class Utils {
        public static void openWindow(String fileFxml, String title, int width, int height, boolean resiz) throws IOException {
            Parent root = FXMLLoader.load(MyClass.class.getResource(fileFxml));
            Stage stage = new Stage();
            stage.setTitle(title);
            stage.setScene(new Scene(root, width, height));
            stage.setResizable(resiz);
            stage.show();
        }
    }
    quindi dovrei passare un altro parametro al metodo, corretto??

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fermat Visualizza il messaggio
    quindi dovrei passare un altro parametro al metodo, corretto??
    Cioè? Non ho capito .... non bastano i 5 che stai trattando??
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.