2016-06-26 8 views
0

私はJavaFXを使い始めましたが、この問題を解決できないようです。 私のキャンバスは、利用可能なスペースを完全に占めていないようです。 私はキャンバスにサイズを設定していますが、そのサイズはありますが、周囲のペインが大きくなります。これにより、ペインの右側と下側に白い枠線が表示されます。JavaFXのキャンバスサイズをペイン

マイコード:

@Override 
public void start(Stage primaryStage) throws Exception { 
    primaryStage.setTitle("ShellShock"); 
    primaryStage.setResizable(false); 

    final Dimension SCREEN_SIZE = Toolkit.getDefaultToolkit().getScreenSize(); 

    Screen screen = new Screen(SCREEN_SIZE.getWidth() * 0.9, SCREEN_SIZE.getHeight() * 0.9); 

    Scene scene = new Scene(screen); 

    primaryStage.setScene(scene); 
    primaryStage.show(); 
} 

Screenクラス:setResizable(false);行を削除する

public class Screen extends Pane { 

private Canvas[] canvases; 

public Screen(double width, double height) { 
    this.setPrefSize(width, height); 

    this.canvases = new Canvas[2]; 

    Canvas background = new Canvas(width, height); 
    GraphicsContext gcb = background.getGraphicsContext2D(); 
    gcb.setFill(new LinearGradient(0, 0, 0, 1, true, CycleMethod.REFLECT, new Stop(0.4, Color.BLUE.darker()), 
      new Stop(1.0, Color.BLUE.brighter().brighter()))); 
    gcb.fillRect(0, 0, width, height); 
    Canvas foreground = new Canvas(width, height); 

    this.canvases[0] = background; 
    this.canvases[1] = foreground; 

    this.getChildren().add(background); 
    this.getChildren().add(foreground); 
} 
} 
+1

質問を編集して残りの 'Screen'クラス、特にクラス宣言を含めて、継承を確認してください。 – VGR

+0

私は編集しました、すべてのコードは今ここにあります。 –

+0

可能な複製[*]キャンバスのサイズを自動的に変更して、囲むParent *を埋めます(http://stackoverflow.com/q/31761361/230513)。 – trashgod

答えて

0

は、問題を解決するようです。

また、setResizable(false)の後にprimaryStage.sizeToScene();を配置する。問題を解決するようだ。

関連する問題