多个窗口在执行时不显示(3个中的1个)

时间:2016-10-18 21:45:00

标签: javafx

快速提问,

为什么我的多个窗口没有显示在此代码中?

关于如何在窗口尺寸增大时仅通过舞台的分辨率使圆的直径增加的任何提示;无论如何通过" circ3。"

在内部完成此操作
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;

public class Circles extends Application {

@Override
public void start(Stage primaryStage){

    Pane pane = new Pane();
    Circle circ = new Circle();
    circ.setStroke(Color.DARKBLUE);
    circ.setFill(Color.YELLOW);
    circ.centerXProperty().bind(pane.widthProperty().divide(10));
    circ.centerYProperty().bind(pane.heightProperty().subtract(20));
    circ.centerXProperty().bind(pane.widthProperty().subtract(20));
    circ.setRadius(20);
    pane.getChildren().add(circ);
    Scene scene = new Scene(pane, 500, 200);
    primaryStage.setTitle("Bottom Right");
    primaryStage.setScene(scene);
    primaryStage.show();


    Pane pane2 = new Pane();
    Circle circ2 = new Circle();
    circ2.setStroke(Color.PEACHPUFF);
    circ2.setFill(Color.YELLOWGREEN);
    circ2.centerXProperty().bind(pane2.widthProperty().divide(2));
    circ2.centerYProperty().bind(pane2.heightProperty().subtract(20));
    circ2.setRadius(20);
    pane2.getChildren().add(circ2);
    Scene scene2 = new Scene(pane2, 200, 500);
    primaryStage.setTitle("Bottom Centered");
    primaryStage.setScene(scene2);
    primaryStage.show();


    Pane pane3 = new Pane();
    Circle circ3 = new Circle();
    circ3.setStroke(Color.PEACHPUFF);
    circ3.setFill(Color.YELLOWGREEN);
    circ3.centerXProperty().bind(pane3.widthProperty().subtract(150));
    circ3.centerYProperty().bind(pane3.heightProperty().divide(2));
    circ3.setRadius(150);

    //size (circle diameter) needs to scale with width resolution 
    pane3.getChildren().add(circ3);
    //boilerplate
    Scene scene3 = new Scene(pane3, 300, 500);
    primaryStage.setTitle("Radius / Width ");
    primaryStage.setScene(scene3);
    primaryStage.show();
}


public static void main(String[] args) {
    Application.launch(args);
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用绑定来使用窗口大小更改圆圈:

Pane pane3 = new Pane();
Circle circ3 = new Circle();
circ3.setStroke(Color.PEACHPUFF);
circ3.setFill(Color.YELLOWGREEN);
circ3.centerXProperty().bind(pane3.widthProperty().divide(2));
circ3.centerYProperty().bind(pane3.heightProperty().divide(2));
circ3.radiusProperty().bind(pane3.widthProperty().divide(2));