2017-09-26 48 views
-2

我正在eclipse中使用javafx创建登录表单和注册表单...当应用程序运行它时,显示默认的登录和注册表单大小..这两个表单都有不同的大小。 。如何更新它?如何为javafx中的每个fxml页面设置大小

代码如下

Samplecontroller.java

public void signin() { 
      AnchorPane pane2; 

      try { 
       pane2 = FXMLLoader.load(getClass().getResource("Login.fxml"))  
       root.getChildren().setAll(pane2); 

      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

FXML

<AnchorPane prefHeight="435.0" prefWidth="655.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8"> 
    <children> 
     <ImageView fitHeight="435.0" fitWidth="655.0" pickOnBounds="true" preserveRatio="true"> 
     <image> 
      <Image url="@../image/reg1.jpeg" /> 
     </image> 
     </ImageView> 
     <Label layoutX="278.0" layoutY="72.0" prefHeight="22.0" prefWidth="212.0" text="Login" textFill="#f8f7f7"> 
     <font> 
      <Font name="Arial Bold Italic" size="39.0" /> 
     </font> 
     </Label> 
     <Label layoutX="38.0" layoutY="229.0" text="Email id" textFill="#19f236"> 
     <font> 
      <Font name="System Bold" size="28.0" /> 
     </font> 
    </Label> 
    <Label layoutX="38.0" layoutY="309.0" text="Login id" textFill="#19f236"> 
    <font> 
     <Font name="System Bold" size="22.0" /> 
    </font> 
    </Label> 
    <TextField layoutX="204.0" layoutY="237.0" prefHeight="25.0" prefWidth="326.0" /> 
    <TextField layoutX="209.0" layoutY="313.0" prefHeight="25.0" prefWidth="326.0" /> 
    <Button layoutX="252.0" layoutY="374.0" mnemonicParsing="false" text="Login" /> 
    <Button layoutX="428.0" layoutY="374.0" mnemonicParsing="false" text="Cancel" /> 
    <Label layoutX="52.0" layoutY="357.0" textFill="#ee1111"> 
    <font> 
     <Font size="28.0" /> 
    </font> 
    </Label> 

和在主类

public void start(Stage primaryStage) { 
     try { 
      AnchorPane root = (AnchorPane)FXMLLoader.load(getClass().getResource("Sample.fxml")); 
      Scene scene = new Scene(root,300,300); 
      scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 
      primaryStage.setScene(scene); 
      primaryStage.show(); 
     } catch(Exception e) { 
      e.printStackTrace(); 
     } 
    } 
+2

什么是“默认尺寸”的高度和宽度?什么是“不同的尺寸”?什么是您可以显示重现您的问题的最短代码?你使用FXML吗?如果是这样发布在你的问题。如果没有更多的信息,你可能会收到赞成票并且没有答案。 – geisterfurz007

+0

@ geisterfurz007默认大小为300,300,登录页面大小为435.0,635.0 – Vivek

回答

1

在主要类中,您将场景宽度和高度设置为300,它将覆盖启动时在fxml文件中设置的高度和宽度。 所以我建议你到只有root设置现场

Scene scene = new Scene(root); 

这将允许采取从FXML文件

+1

第一页正在运行,但第二页(登录页面)未显示大小为 – Vivek

+0

当您加载登录fxml时,您将其设置为根目录。所以基本上你在前面的anchorpane中添加了login.fxml。尝试加载到一个新的场景中,或在加载login.fxml时设置anchorpane(第一个)的高度和宽度 –

+1

实际上有2个页面1st(主页),另一个是登录页面。根据你的代码它适合首页,但不适合登录页面..所以我想适合登录页面根据自己的大小.. – Vivek

相关问题