2017-09-26 172 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

相關問題