java - 如何从 Notepad++ 运行 JavaFX 应用程序? (仅作为 .jar 文件运行)

标签 java javafx notepad++ nppexec

如何从 cmd Notepad++ 的插件 NppExec 正确运行 JavaFX 应用程序?我之前在 Notepad++ 插件 NppExec(基本上 是一个内置 cmd)上使用命令 java $(NAME_PART) 来运行 java,它对基于 swing 的程序运行良好.但是,当我使用该命令运行 JavaFX 应用程序时,我的 Notepad++ 窗口似乎失去了焦点,就像打开了一个新窗口一样,但什么也没有出现。

编辑:在从 cmd 测试相同的命令后,我发现问题出在 Notepad++ 插件 NppExec 上。在运行 JavaFX 应用程序时,NppExec 的功能似乎与 cmd 不同。

我用来测试的代码(最初是从 http://docs.oracle.com/javase/8/javafx/api/javafx/application/Application.html 获得的)将根据上面的编辑进行更新:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;

public class MyApp extends Application {
    public void start(Stage stage) {
        Circle circ = new Circle(40, 40, 30);
        Group root = new Group(circ);
        Scene scene = new Scene(root, 400, 300);

        stage.setTitle("My JavaFX Application");
        stage.setScene(scene);
        stage.show();
    }
    //not required but recommended
    public static void main(String[] args) {
        launch(args);
    }
}

最佳答案

回答我自己的问题。

来自 NppExec 的手册,

- NppExec is not a command interpreter. NppExec does not understand such commands as 'copy', 'call', 'for' and so on because it is neither a "real" console nor a console emulator. However, NppExec has its own internal implementation of such commands as 'cls', 'cd', 'dir', 'echo', 'set' ('env_set') and introduces other, specific, commands. Also you can use "cmd /c <command>" to execute any cmd's command inside NppExec.

使用 cmd /c java $(NAME_PART)而不是 java $(NAME_PART)运行成功。

仍然不确定为什么要简单地调用 java $(NAME_PART)适用于非 JavaFX 程序,但不适用于 JavaFX 程序,但我认为问题不属于此处。

关于java - 如何从 Notepad++ 运行 JavaFX 应用程序? (仅作为 .jar 文件运行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25779414/

相关文章:

java - 根据 Spring MVC 中服务的结果验证单个字段

Javafx TableView 始终为空

Notepad++ 中的正则表达式(如 sed)

notepad++ - 在 Notepad++ 中手动突出显示所选文本

java - 设置多个彼此独立的 JFrame

java - 如何正确使用任何 Java API

JavaFX 如何添加元素,例如。从存储在数据库 Mysql 中的项目动态创建的按钮?

java - 组合框不更新所选项目

regex - Notepad++ Regex(使用查找和替换)我想找到一个特定的单词并将其替换为出现在两个不同标签之间的字符串

java - 对 LinkedList 中 ListIterator 的 add() 方法感到困惑