JAVA FX在OSX Dock前面设置窗口/舞台

时间:2015-07-22 10:05:47

标签: macos netbeans javafx yosemite

我无法获得JAVA FX" FXML"在Yosemite 10.10.1上的OSX Dock前面的窗口。

我创建了一个新的"新的支持JavaFX FXML的应用程序"在NetBeans上提供此代码:

public class Test extends Application {
    @Override
    public void start(Stage stage) throws Exception {
       Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
       Scene scene = new Scene(root);
       stage.setScene(scene);
       stage.show();
       stage.setAlwaysOnTop(true); // I ADDED THIS
     }

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

我在舞台上添加了setAlwaysOnTop(),但我的窗户仍然隐藏在码头后面。

Window at the left bottom

有没有办法在前面设置我的窗口?

1 个答案:

答案 0 :(得分:-1)

添加这些行以及让它看起来有帮助:

 Rectangle2D primScreenBounds = Screen.getPrimary().getVisualBounds();
 stage.setX((primScreenBounds.getWidth() - stage.getWidth()) / 2);
 stage.setY((primScreenBounds.getHeight() - stage.getHeight()) / 2);

此代码应将您的舞台置于屏幕中央。

所以:

public class Test extends Application {
@Override
public void start(Stage stage) throws Exception {
   Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
   Scene scene = new Scene(root);
   stage.setScene(scene);
   Rectangle2D primScreenBounds = Screen.getPrimary().getVisualBounds();
   stage.setX((primScreenBounds.getWidth() - stage.getWidth()) / 2);
   stage.setY((primScreenBounds.getHeight() - stage.getHeight()) / 2);
   stage.show();
 }

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

}