java - JShell Edit Pad 未执行/运行代码片段

标签 java java-10 jshell

我对 jshell 和 Java 非常陌生,并且遇到 jshell 编辑板不接受代码片段或将代码片段传输到 jshell 的问题。当我输入下面的代码片段并按“接受”和“退出”时,没有任何反应。 jshell 终端窗口中没有显示错误消息,并且我的屏幕上没有显示该窗口。该代码似乎没有运行。

import javax.swing.*;

JFrame window = new JFrame("Another New Window");
JPanel panel = new JPanel();
JButton button = new JButton("Click me!");

panel.add(button);
window.add(panel);
window.setSize(300,100);
button.addActionListener(e -> System.out.println("Ouch! You clicked me!"));
window.setVisible(true);

但是,当我直接在 jshell 窗口(命令提示符)中输入相同的代码片段时,该窗口会按预期显示。可能出了什么问题?我犯了什么错误?

我注意到我能够获得简单操作的结果,例如 2+2; 在按“Accept”后在 jshell 控制台窗口中显示答案,但在默认编辑板中输入的实际代码似乎根本无法运行。

我运行的是 Windows 10,并且安装了最新版本的 JDK 8 和 10。

感谢您的帮助!

最佳答案

我已安装 JDK 12JRE 8。它正在按预期工作。要启动新的 JShell Edit Pad,只需确保您这样做

/reset

之前

/edit

打开JShell Edit Pad

enter image description here

尝试使用JDK 12

关于java - JShell Edit Pad 未执行/运行代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50322583/

相关文章:

java - java.util.concurrent.Future 不一致?

java - Java 的分散式集群库

java - 如何将自定义对象保存到 Parse 云 Android

java - "array initializer needs an explicit target-type"- 为什么?

java - 尝试在 Ubuntu 上运行 jshell 时,当前未安装程序 'jshell'

java - 当父类(super class)不存在时调用父类(super class)的构造函数

Java 泛型类型在这种情况下不起作用

java - 带有德语区域设置的 SimpleDateFormat - Java 8 与 Java 10+

java-9 - JShell 访问在 jshell 实例之外定义的变量

java - 我可以将 jshell repl (java 9) 添加到 vscode 的终端面板吗?