第一次调用JavaFx Stage::setY在Linux上不一致-解决方法?
当我运行下面的程序时,有50%的几率第一次点击按钮会导致窗口移动到10像素以下(使用Ubuntu linux、Oracle JDK 1.8、JavaFx 8.0.102-b14)。之后,每次单击都会正确地产生一个小的向上移动第一次调用JavaFx Stage::setY在Linux上不一致-解决方法?,java,linux,javafx-8,Java,Linux,Javafx 8,当我运行下面的程序时,有50%的几率第一次点击按钮会导致窗口移动到10像素以下(使用Ubuntu linux、Oracle JDK 1.8、JavaFx 8.0.102-b14)。之后,每次单击都会正确地产生一个小的向上移动 import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPan
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class JavaFxTest extends Application {
@Override
public void start(Stage myStage) {
myStage.setTitle("Hello World!");
Button myButton = new Button();
myButton.setText("Click!");
myButton.setOnAction(event -> myStage.setY(myStage.getY() - 1));
StackPane myStackPane = new StackPane();
myStackPane.getChildren().add(myButton);
myStage.setScene(new Scene(myStackPane, 300, 250));
myStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
以下视频演示了该错误:
使用awt和swing时,我遇到了类似的问题,并在此处发布了问题:
是否有人有解决方法来实现正确的窗口位置