当前位置: 首页 > 知识库问答 >
问题:

如何创建javafx 2.0应用程序MDI

壤驷升
2023-03-14
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Main extends Application {

    ConnectDb connection;

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

    @Override
    public void start(Stage stage) throws Exception {
        final Stage stage1 = new Stage();
        StackPane pane = new StackPane();
        Button btn = new Button("Click Me");
        btn.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                connection = new ConnectDb();
                try {
                    connection.start(stage1);
                } catch (Exception e) {
                    e.printStackTrace(); 
                }
                System.out.println("Fire some thing..");
            }
        });
        pane.getChildren().add(btn);
        stage.setScene(new Scene(pane ,200, 300));
        stage.show();
    }
}
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class ConnectDb extends Application {

    @Override
    public void start(Stage stage) throws Exception {
        StackPane pane = new StackPane();
        Button btn = new Button("Click On Button which is me");
        btn.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                System.out.println("Something here..");
            }
        });
        pane.getChildren().add(btn);
        stage.setScene(new Scene(pane ,200, 300));
        stage.show();
    }
}

共有1个答案

傅阳炎
2023-03-14

首先,对于您的方法,您不需要(因此不应该)从应用程序扩展ConnectDb,因为您只需要使用start方法来创建新的阶段。您只需要一个应用程序类(在您的情况下是Main)。您也可以在第一个事件处理程序中创建新的舞台/场景。

其次,JavaFX2.1中没有真正的MDI支持。现在,您可以只拥有多个阶段(这相当于拥有多个窗口/框架)。但是在桌面窗格中不能有内部框架之类的内容。

我想你可以采取以下行动:

    null
 类似资料:
  • Ember CLI,Ember的命令行界面提供了一个标准的项目结构,一组开发工具和一个插件系统。这允许Ember开发人员专注于构建应用程序,而不是构建使它们运行的​​支持结构。可通过ember --help显示Ember CLI提供的命令,或通过ember help <command-name>查看特定命令的信息。 创建应用程序 $ ember new super-rentals 上述ember

  • 我试图弄清楚如何在使用Twilio的Authy时在SaaS应用程序中细分多个客户。 其中一种方法是为每个客户创建一个应用程序(每个客户/客户组有/没有子帐户)。然而,为了自动装载客户,我希望通过API创建应用程序。 Authy的文件没有帮助-https://www.twilio.com/docs/authy/api/applications#create-新应用程序显示“要创建新的授权应用程序,请

  • 下面是学习AzureKeyVault配置设置的说明 null 好的,所以我已经将应用程序的名称作为“企业应用程序”复制到Azure Active Directory中。我还为我刚刚创建的添加对象添加了Azure中的“get”和“list”的“访问策略”。然而,当我试图启动应用程序时,程序中出现了这样一个错误: 更新8-4-18好的,我发现Azure使用本地AppSettings.json中的'Cl

  • 问题内容: 我刚刚继承了一个Java应用程序,该应用程序需要作为服务安装在XP和Vista上。自从我以任何形式使用Windows至今已有8年了,而且我从未创建过一项服务,更不用说从Java应用程序之类的东西了了(我为该应用程序提供了一个jar,并且有一个依赖项jar-log4j )。使它作为服务运行所需的魔术是什么?我已经掌握了源代码,因此尽管可以避免进行代码修改,但还是可以的。 问题答案: 我对

  • 我用< code>Python和< code>Django开发了一个web应用程序,需要每天备份数据。目前,< code>Postgres被用作DBMS。 为了执行备份,我发现了<code>django dbbackup</code>模块,但要使用它,我需要运行命令<code>python manage。py dbbackup。 如何在每天的特定时间自动备份?