2017-09-27 1 views
-1

Je travaille sur le projet javaFx, j'ai créé sur mon ordinateur portable, tout va bien, mais quand j'ai changé mon écran, maintenant j'utilise grand écran, j'ai trouvé que mon application affectée avec la résolution de l'écran écran. Voici mon code:JavaFx: Comment je peux lier une scène avec une résolution d'écran?

try { 

         FXMLLoader fxm = new FXMLLoader(getClass().getResource("Home.fxml")); 

         //Load th file XML To parent 
         Parent parent = (Parent) fxm.load(); 
         //Create a new stage   

         s.setTitle("PubWorks 1.0"); 
         s.getIcons().add(new Image("/Images/Casque.png")); 

         Scene scene = new Scene(parent); 
         s.setScene(scene); 
         s.centerOnScreen(); 
         ((Node) event.getSource()).getScene().getWindow().hide(); 
         s.show(); 
         s.setOnCloseRequest(new EventHandler<WindowEvent>() { 
          @Override 
          public void handle(WindowEvent event) { 
           new RecentMessageDao().Delete(new RecentMessage(0)); 
           User user = new User(UserTxt.getText(), PasswordTxt.getText()); 
           new UserDao().setOff(user); 
           System.exit(0); 

          } 
         }); 
         MenuController controller = fxm.getController(); 
         controller.getMenuController(s); 

        } catch (Exception exception) { 
         exception.printStackTrace(); 

        } 

enter image description here

Ceci est ma mise en page de parent

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="710.0" prefWidth="1360.0" styleClass="mainFxmlClass" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="hmproject.MenuController"> ........</AnchorPane> 
+2

Cela ressemble à un problème de mise en page. Vous devez poster le code de disposition (fxml). Quels panneaux de disposition utilisez-vous? –

+0

J'ai utilisé AnchorPane. –

+0

Avec un 'AnchorPane' ne sont pas les positions des éléments de l'interface utilisateur fondamentalement codés en dur? –

Répondre

1

Ceci est un modèle que vous pouvez suivre

<?xml version="1.0" encoding="UTF-8"?> 

<?import javafx.scene.layout.AnchorPane?> 
<?import javafx.scene.layout.HBox?> 
<?import javafx.scene.layout.VBox?> 


<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1"> 
    <children> 
     <VBox layoutX="168.0" layoutY="30.0" prefHeight="200.0" prefWidth="100.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> 
     <children> 
      <AnchorPane prefHeight="52.0" prefWidth="600.0" style="-fx-background-color: pink;" /> 
      <HBox prefHeight="100.0" prefWidth="200.0" VBox.vgrow="ALWAYS"> 
       <children> 
        <AnchorPane prefHeight="309.0" prefWidth="113.0" style="-fx-background-color: lightgreen;" /> 
        <AnchorPane prefHeight="200.0" prefWidth="200.0" style="-fx-background-color: lightblue;" HBox.hgrow="ALWAYS" /> 
       </children> 
      </HBox> 
      <AnchorPane prefHeight="39.0" prefWidth="600.0" style="-fx-background-color: yellow;" /> 
     </children> 
     </VBox> 
    </children> 
</AnchorPane> 

enter image description here enter image description here

+0

L'avez-vous fait avec le générateur de scènes, parce que je n'ai pas trouvé de propriétés? –

+0

Oui, je l'ai fait. Quelles propriétés n'avez-vous pas trouvées? – Sedrick

+0

AnchorPane.bottomAnchor = "0.0" AnchorPane.leftAnchor = "0.0" AnchorPane.rightAnchor = "0.0" AnchorPane.topAnchor = "0.0", –