【问题标题】:JAVAFX - Windows rights callingJAVAFX - Windows 权限调用
【发布时间】:2015-05-03 23:34:57
【问题描述】:

我有两个很好的工作窗口(主窗口,第一个窗口),在不同的 .java 文件中,在同一个包中。

程序处理,如果我调用第一个窗口(从主窗口),主窗口留在后台。唯一的问题是,如果我点击那里,我仍然可以使用主窗口,并创建无限优先窗口。

一种解决方案是关闭主窗口,以避免再次单击那里,但我想保留在那里。为了制定解决方案,我需要一个代码,它使背景窗口以某种方式被禁用,直到我单击第一个窗口中的某些内容。 但要做到这一点,我需要授予“handler.java”以使用 main 操作的权限。

有人知道怎么做吗?

让我向你展示 2 个 java 文件的方法:

Main.java:

  public class program extends Application {

@Override
public void start(Stage main) throws Exception {
    Parent root = FXMLLoader.load(getClass().getResource("mainwindow.fxml"));
    Scene scene = new Scene(root);

    main.setScene(scene);
    main.setTitle("Main);
    main.setWidth(800);
    main.setHeight(600);
    main.setResizable(false);

          main.show();

First.java

    public void first() throws Exception {
    Parent root = FXMLLoader.load(getClass().getResource("first.fxml"));
    Scene scene = new Scene(root);
    Stage first = new Stage();     
    first.setScene (scene);
    first.setTitle("Köszöntjük az Útiokosban!");
    first.setWidth(400);
    first.setHeight(200);
    first.setResizable(false);

          first.show();

}

【问题讨论】:

  • 您是否考虑过让您的第一个窗口成为模态对话框?
  • 改成模态难吗?为什么对我更好?
  • 模式对话框在对话框打开时阻止对父阶段的任何访问。您还可以使您的对话框阻止对应用程序的所有其他窗口的任何访问。

标签: java methods javafx rights


【解决方案1】:

使用Stage.initModality 制作您的Stages 模态之一(阻塞)。

注意:您需要在显示Stage之前设置模态。

【讨论】:

  • 感谢您的帮助!如果我能给出 2 个“正确答案”标记,我会给出另一个。
【解决方案2】:

尝试使用此链接中“模式”一章中的建议: http://docs.oracle.com/javase/8/javafx/api/javafx/stage/Stage.html

【讨论】:

  • 感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-23
  • 1970-01-01
  • 2017-05-05
  • 1970-01-01
  • 1970-01-01
  • 2014-10-26
相关资源
最近更新 更多