javafx tela cheia na tela SEGUNDA

darthgamer64:

Para a vida de mim, eu não consigo obter ajuda sobre isso. Eu tenho uma tela JavaFX e eu estou tentando obter a mostrar em tela cheia no meu segundo monitor. Eu tentei o seguinte com base em outras recomendações, mas sem sucesso. Eu sei que as coordenadas são direito, mas ele continua indo tela cheia no meu monitor principal. Por favor ajude.

if (mainSet.getBoolean("fullScr", false)) {
  int count = mainSet.getInt("MonSel", 0);
  if (count > 0) {
    int i = 0;
    for (Screen screen: Screen.getScreens()) {
      if (count == i) {
        Rectangle2D bounds = screen.getBounds();
        primaryStage.setX(bounds.getMinX());
        System.out.println(bounds.getMinX());
        System.out.println(bounds.getMinY());
        primaryStage.setY(bounds.getMinY());
      }
      i++;
    }
  }
  primaryStage.setFullScreen(true);
}

Os primeiros ifcheques uma preferência para ver se fullscreen é conjunto. ifvê se outro monitor além do primeiro foi selecionado. É 1, de modo que deve ser o segundo monitor. O programa percorre todas as telas e tenta mover o programa e depois irá para tela cheia. Eu sei que as coordenadas são as mesmas, mas não dados, ele ainda vai tela cheia na tela principal. Por favor ajude.

Sedrick:

Eu não sei se eu realmente entender o seu problema, mas se você tem duas telas, por um loop através das telas? Porque não usar a informação associada com a tela na posição dois / index um dos ObservableList? Estou postando um aplicativo de exemplo que demos como exibir em tela cheia em um segundo monitor.

import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.geometry.Rectangle2D;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Screen;
import javafx.stage.Stage;

/**
 *
 * @author blj0011
 */
public class JavaFXApplication257 extends Application
{

    @Override
    public void start(Stage primaryStage)
    {
        ObservableList<Screen> screens = Screen.getScreens();//Get list of Screens
        Button btn = new Button();
        btn.setText("Full Screen - Screen 1");
        btn.setOnAction((ActionEvent event) -> {
            Rectangle2D bounds = screens.get(0).getVisualBounds();
            primaryStage.setX(bounds.getMinX());
            primaryStage.setY(bounds.getMinY());
            primaryStage.setFullScreen(true);
            //primaryStage.setWidth(bounds.getWidth());
            //primaryStage.setHeight(bounds.getHeight());
        });

        Button btn2 = new Button();
        btn2.setText("Full Screen - Screen 2");
        btn2.setOnAction((ActionEvent event) -> {
            if (screens.size() > 0) {
                Rectangle2D bounds = screens.get(1).getVisualBounds();
                primaryStage.setX(bounds.getMinX());
                primaryStage.setY(bounds.getMinY());
                primaryStage.setFullScreen(true);
                //primaryStage.setWidth(bounds.getWidth());
                //primaryStage.setHeight(bounds.getHeight());
            }
        });

        StackPane root = new StackPane();
        root.getChildren().add(new VBox(btn, btn2));

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        launch(args);
    }

}

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=182003&siteId=1
Recomendado
Clasificación