0

私の問題は、 setResizable(false) を使用すると、シーンに白い境界線が 1 つ表示されることです。false に設定しないと問題なく動作しますが、false に設定する必要があります。

コード:

 Scene scene = new Scene(new StackPane());  

        LoginManager loginManager = new LoginManager(scene);
        loginManager.showLoginScreen();
        primaryStage.setResizable(false);
        primaryStage.setScene(scene);
        primaryStage.show();

私のImageViewは私のAnchorPaneの中にあります

<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="900.0" xmlns:fx="http://javafx.com/fxml" fx:controller="br.com.facilit.target.app.desktop.view.MainViewController">
  <children>
    <ImageView id="background" fitHeight="600.0" fitWidth="900.0" pickOnBounds="true">
      <image>
        <Image url="@../images/background.jpg" preserveRatio="true" smooth="true" />
      </image>

ここに画像の説明を入力

4

4 に答える 4

2

あまりにも多くのことを試した後、それを修正する方法を発見しました。

理由はわかりませんが、 resible false を設定すると、画面の下と右側に自動的に余分なスペースができます。これを修正するには、画像の背景を画面の幅と高さよりも大きく設定する必要があります。たとえば、アンカー ペインで 900x600 を使用している場合は、画像を 920x620 に設定する必要があります。

もう一度、なぜそれが起こっているのかわかりませんが、これがcssを使用せずに修正することがわかった唯一の方法でした.

于 2013-03-25T12:33:49.403 に答える
1

私は同じ問題を抱えていましたが、この方法で解決しました:

primaryStage.setScene(scene);

primaryStage.setWidth(900);
primaryStage.setHeight(600);
primaryStage.setResizable(false);

primaryStage.show();

サイズ変更可能なプロパティを設定するにシーンを設定し、幅/高さを手動で設定する必要があります。これで私の問題は解決しました。

于 2014-07-15T10:10:18.390 に答える
0
  1. maxSize() と minSize を画像のサイズに設定します。

    Scene scene = new Scene(new StackPane());  
    
    private final static double IMG_WIDTH = 900d;
    private final static double IMG_HEIGHT = 600d;
    
    LoginManager loginManager = new LoginManager(scene);
    loginManager.showLoginScreen();
    
    primaryStage.setResizable(false);
    primaryStage.setMaxWidth(IMG_WIDTH);
    primaryStage.setMaxHeight(IMG_HEIGHT);
    primaryStage.setMinWidth(IMG_WIDTH);
    primaryStage.setMinHeight(IMG_HEIGHT);
    
    primaryStage.setScene(scene);
    primaryStage.show();
    
  2. 実際に 900x600 であるかどうか、画像のサイズを確認します。

于 2013-02-11T00:32:48.223 に答える