2017-07-14 8 views
2

JavaFXで構築されたインタフェースのオリジナルビューのスクリーンショットです。下のボタンはこの画面サイズで問題なく表示されます。 Original size window画面サイズで調整可能なJavaFXコンポーネントの作成方法

これは、ウィンドウがフルスクリーンに設定されている場合の表示です。これらのボタンは、画面サイズが大きくなるにつれて大きくなりません。彼らは全体の窓に比べてとても小さく見えます。

Fullscreen window

これらのボタンはJFoenixライブラリからインポートJFXButtonsあると、常にVGrowオプションを設定しているHBox.I内でラップされていますが、ボタンにはHGrowのオプションはありません。私はシーンビルダを使ってこのGUIを開発しています。では、どのようにしてこれらのボタンを画面サイズの変更に合わせてサイズ(特に幅)を調整することができますか? インターフェイスの.fxmlは次のとおりです。

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

<?import javafx.geometry.*?> 
<?import com.jfoenix.controls.*?> 
<?import javafx.scene.control.*?> 
<?import java.lang.*?> 
<?import javafx.scene.layout.*?> 
<?import javafx.scene.layout.AnchorPane?> 

<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="1000.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainController"> 
    <top> 
     <MenuBar BorderPane.alignment="CENTER"> 
      <menus> 
       <Menu mnemonicParsing="false" text="File"> 
        <items> 
         <MenuItem mnemonicParsing="false" text="Close" /> 
        </items> 
       </Menu> 
       <Menu mnemonicParsing="false" text="Edit"> 
        <items> 
         <MenuItem mnemonicParsing="false" text="Delete" /> 
        </items> 
       </Menu> 
       <Menu mnemonicParsing="false" text="Help"> 
        <items> 
         <MenuItem mnemonicParsing="false" text="About" /> 
        </items> 
       </Menu> 
      </menus> 
     </MenuBar> 
    </top> 
    <bottom> 
     <VBox prefHeight="90.0" prefWidth="1000.0" spacing="5.0"> 
      <children> 
       <HBox alignment="CENTER" prefHeight="40.0" prefWidth="200.0" spacing="10.0" stylesheets="@../../bin/application/style1.css" BorderPane.alignment="CENTER" VBox.vgrow="ALWAYS"> 
        <children> 
         <JFXButton fx:id="playpauseBtn" buttonType="RAISED" layoutX="310.0" layoutY="18.0" HBox.hgrow="ALWAYS" /> 
        <JFXButton fx:id="playpauseBtn1" buttonType="RAISED" layoutX="485.0" layoutY="17.0" /> 
        <JFXButton fx:id="playpauseBtn11" buttonType="RAISED" layoutX="515.0" layoutY="17.0" /> 
        <JFXButton fx:id="playpauseBtn12" buttonType="RAISED" layoutX="485.0" layoutY="17.0" /> 
        <JFXButton fx:id="playpauseBtn111" buttonType="RAISED" layoutX="515.0" layoutY="17.0" /> 
        </children> 
       </HBox> 
       <JFXSlider prefHeight="21.0" prefWidth="1000.0" VBox.vgrow="ALWAYS"> 
       <padding> 
        <Insets bottom="8.0" /> 
       </padding></JFXSlider> 
      </children> 
     </VBox> 
    </bottom> 
</BorderPane> 
+0

これは私が探しているものではありません。ウィンドウサイズの変更に応じて、これらのボタンのサイズを自動的に変更したい。現在のところ、元のウィンドウでは見た目がよく見えますが、ウィンドウが最大化されているときは非常に小さく見えます。 – Manoj

+0

より正確なヘルプを得るためにFXMLを転記してください。 – Sedrick

+0

@SedrickJefferson私はFXMLを投稿しました。一度見てください。 – Manoj

答えて

0

私は、これらのボタンの幅と高さをシーンの幅と高さにプログラム的に結び付けることしか考えられませんでした。例:

playpauseBtn.scaleXProperty().bind(playpauseBtn.getScene().widthProperty().multiply(0.5)); 
playpauseBtn.scaleYProperty().bind(playpauseBtn.getScene().heightProperty().multiply(0.5)); 
関連する問題