我和this tutorial一起关注,并且在视频的开头出现了问题(大约7:45)。我正在尝试创建一个将启动窗口的基本Java程序,但是,我似乎无法导入JFrame。
我已经在Stack Overflow上寻找其他解决方案,但没有找到适合我的解决方案。
这是我编写的代码:
import javax.swing.JFrame;
public class App {
public static void main(String[] args) {
JFrame frame = new JFrame("Hello World");
frame.setVisible(true);
}
}
我正在运行macOS Mojave 10.14.5版的Macbook Pro(13英寸,2012年中)上使用Eclipse 4.12.0版
预期结果:运行该程序时会打开一个窗口,而当我关闭该窗口时,程序将结束。
实际结果:未创建任何窗口,并且出现此错误消息:
Error occurred during initialization of boot layer
java.lang.module.FindException: Error reading module: /Users/username/eclipse-workspace/Swing1/bin
Caused by: java.lang.module.InvalidModuleDescriptorException: App.class found in top-level directory (unnamed package not allowed in module)
答案 0 :(得分:0)
如果您使用eclipse创建了Java应用程序,那么您的错误就是软件包。
使用eclipse,我创建了一个Java应用程序,这就是结果
此代码修正了您的疑问
package demo;
import java.awt.Dimension;
import javax.swing.JFrame;
public class App {
public static void main(String[] args) {
JFrame frame = new JFrame("Hello World");
frame.setLocationRelativeTo(null);
frame.setSize(new Dimension(400, 400));
frame.setVisible(true);
}
}
了解package
的参考答案 1 :(得分:-1)
我有同样的问题。我在Eclipse中做了类似的代码。我在导入javax.swing.JFrame的一侧收到错误The type javax.swing.JFrame is not accessible
;
解决方案是:
删除import javax.swing.JFrame;
行
然后,在您的代码主体内部,用鼠标悬停在 JFrame 关键字上,Eclipse将提供一些自动完成建议。
选择import 'JFrame' (javax.swing)
这将自动带来所需的导入。这是一种捷径。
为了避免这些类型的错误:切勿手动键入,请通过自动填充获取导入和方法,例如 setVisible 。例如,键入 frame.setV ,然后Eclipse将再次提示完成操作...从此处选择。我不知道为什么,但这就是我的情况。