我刚刚设置了 Android Studio 并启动了一个简单的应用程序。好的开始是一个过度的声明,我被卡在前几行并且无法将 JFrame 导入到 android studio 中。
我安装了最新的 SDK 和 LibGDX。我仍然无法设置 JFrame。我已经搜索了网络/youtube,但没有找到解决方案。
我可以在我的外部库中看到 javax 和 swing,但无法导入。
任何想法我做错了什么或没有做什么?
我不是在寻找“如何教程”,我只是在寻找答案的指针。
哇,没有大量的响应。
请告知我是否提出了愚蠢的问题或困难的问题。
public hungryDog() {
JFrame jframe = new JFrame();
Timer timer = new Timer(20, this);
renderer = new Renderer();
rand = new Random();
jframe.add(renderer);
jframe.setTitle("Hungry Dog");
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setSize(WIDTH, HEIGHT);
jframe.addMouseListener(this);
jframe.addKeyListener(this);
jframe.setResizable(false);
jframe.setVisible(true);
dog = new Rectangle(WIDTH / 2 - 10, HEIGHT / 2 - 10, 20, 20);
columns = new ArrayList<Rectangle>();
addColumn(true);
addColumn(true);
addColumn(true);
addColumn(true);
timer.start();
}
最佳答案
我曾经有同样的问题;这是解决方法。
你看,我们试图在一个完全错误的环境中使用 swing lib,也就是说,在一个 Android 应用程序中。正如 Scott Barta 所指出的,Android 有自己的机制来完成我们想要实现的目标,这就是 IntelliJ 不允许我们导入任何会干扰 Android API 的东西的原因。
因此,不要使用 Android 应用程序,例如,简单地学习如何用 Java 编写代码,或者在更高级的水平上测试/调试算法时。相反,构建一个独立的 Java 程序(是的,在 Android Studio 中)。此处涵盖了这个主题:Can Android Studio be used to run standard Java projects? , “在 Android Studio 0.8.6 - 1.0.2 上测试”由 idunnololz)。对此解决方案的一些澄清说明:
1) 在准备您的配置( 运行 | 编辑配置... )时,在适当的字段中使用您的新 Java 模块名称及其主类。
2) 点击前运行确保您选择了相同的配置。
顺便说一句,确实有一种方法可以将 Swing 库导入任何 Android 应用程序:based on http://www.youtube.com/watch?v=fHEvI_G6UtI .具体来说,将新行添加到 build.gradle 的文件模块:app :compile files ('<path_to_your_jdk's_rt.jar>')
像这样:compile files ('C:/Program Files/Java/jdk1.8.0_31/jre/lib/rt.jar')
注意单引号和正斜杠。然后点击同步 Gradle 图标并欣赏美景。
然而,在我们的特殊情况下,程序不会运行。代码本身是干净的,不会有错误;有了 swing lib 就位并连接好,IntelliJ 不会怀疑任何事情;该项目将编译...但随后我们将收到运行时错误。现在你知道为什么了。另一方面,当我们不干扰 Android API 时,这种方法就像魔术一样——我们一开始就不应该这样做。
这里的所有都是它的。
关于import - 如何在 android studio 中导入 javax.swing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28544821/