私はちょうど最近JavaFXの学習を始めた初心者です。私は自分のプログラム内で同じ再発的な間違いをしているようです。たとえば、次のコードでは、X軸とY軸を描画し、ペインの幅と高さの半分にバインドします。実行すると、軸は非常に小さく、先端のコーナーに位置しますが、アプリケーションのウィンドウのサイズを変更すると、ウィンドウのサイズが変更されなくなるまで、軸のサイズが徐々に増加します。JavaFX:ペインへのトラブルバインディングのプロパティ
public class Debug extends Application {
@Override
public void start(Stage primaryStage) {
Pane pane = new Pane();
GraphFunc test = new GraphFunc();
pane.getChildren().add(test);
Scene scene = new Scene(pane, 500, 500);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
class GraphFunc extends Pane {
private double xAxisSpan, yAxisSpan;
public GraphFunc() {
xAxisSpan = 100;
yAxisSpan = 100;
drawAxes();
}
private void drawAxes() {
Line xAxis = new Line(0, 50, 100, 50);
Line yAxis = new Line(50, 0, 50, 100);
xAxis.setStartX(0);
xAxis.startYProperty().bind(heightProperty().divide(2));
xAxis.endXProperty().bind(widthProperty());
xAxis.endYProperty().bind(heightProperty().divide(2));
yAxis.startXProperty().bind(widthProperty().divide(2));
yAxis.setStartY(0);
yAxis.endXProperty().bind(widthProperty().divide(2));
yAxis.endYProperty().bind(heightProperty());
getChildren().addAll(xAxis, yAxis);
}
}
ペインがStackPaneに変更されると、これは起こりません。混乱します。また、drawAxes()のコードをstart()に移動してペインに行を追加すると、これも実行されません。説明してください、私はそれを研究して遊んだ後に何が起こっているのか分かりません。
これはもっと感謝します。ありがとう! – woodenwaffle