0
ステージにスクロールバーを追加する、ステージの右側にスクロールバーを固定したい、最初はCSSを使用してみたい"position:absolute"のようなスタイルを見つけられないので、ステージ上でChangeListenerを追加します。ステージのサイズが変更され、スクロールバーのLayoutXとLayoutYがリセットされ、うまく動作しますが、ステージを最大化すると、ステージ上のリスナーはjavaFXでステージの右側のスクロールバーを固定する方法
stage.heightProperty().addListener(new ChangeListener<Number>()
{
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue)
{
System.out.println("this is height,newValue:"+newValue.intValue()+"oldValue:"+oldValue.intValue());
}
});
stage.maximizedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
System.out.println("current height"+stage.heightProperty().doubleValue());
System.out.println("current width"+stage.widthProperty().doubleValue());
}
});
stage.widthProperty().addListener(new ChangeListener<Number>()
{
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue)
{
hBox.setPrefWidth(newValue.intValue()-30);
table1HorizontalScrollBar = findScrollBar(table1, Orientation.HORIZONTAL);
table1VerticalScrollBar = findScrollBar(table1, Orientation.VERTICAL);
table2.setPrefWidth(newValue.intValue()-table1.getWidth());
table2HorizontalScrollBar = findScrollBar(table2, Orientation.HORIZONTAL);
table2VerticalScrollBar = findScrollBar(table2, Orientation.VERTICAL);
bindValueProperty();
System.out.println("this is width ,newValue:"+newValue.intValue()+"oldValue:"+oldValue.intValue());
}
});
私は舞台を最大化し、コンソール出力は次のようになります。
今、ステージの幅と高さのnewValueを取得できます。 が、ステージ上で、この