我刚刚安装了Android Studio并启动了一个简单的应用程序。好的开始是一个过度的声明,我在前几行卡住了,无法将JFrame导入到android studio中。
我用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();
}
发布于 2015-03-04 22:43:45
我以前也有同样的问题;下面是如何解决它的方法。你看,我们试图在一个完全错误的环境中使用swing库,也就是在Android应用程序中。正如Scott Barta所指出的,Android有自己的机制来实现我们想要实现的目标,这就是为什么IntelliJ不允许我们导入任何会干扰Android API的东西。因此,当简单地学习如何用Java编码时,或者在更高级的水平上,当测试/调试算法时,不要使用Android应用程序。相反,构建一个独立的Java程序(是的,在Android Studio中)。这就是这个话题:Can Android Studio be used to run standard Java projects?,“在Android Studio 0.8.6 - 1.0.2"上测试,由idunnololz提供)。对此解决方案有几点澄清: 1)在准备您的配置( Java | Edit Configurations...)时,在适当的字段中使用您的新模块名称及其主类。2)单击Run之前,请确保您选择了相同的配置。
顺便说一句,确实有一种方法可以将swing库导入到任何安卓应用程序中: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')
注意单引号和正斜杠。然后单击Sync Gradle图标并享受视图。
然而,在我们的特殊情况下,程序不会运行。代码本身将是干净的,不会有错误;有了swing库,IntelliJ就不会怀疑任何事情;项目将会编译……但是这样我们就会得到一个运行时错误。现在你知道为什么了。另一方面,当我们不干扰Android API时,这个方法就像魔术一样工作-这是我们一开始就不应该做的。
非那样做不行。
发布于 2015-02-18 01:45:18
你不能在Android上使用Swing。Android有自己的UI框架,这是不同的,Swing不受支持。要了解安卓系统支持哪些Java,请查看http://developer.android.com/reference/packages.html上的API文档
发布于 2019-06-24 05:51:16
是的你可以。除了Igor的回答之外,下面是步骤:
-
app步骤5可能不需要。尝试不使用它来依赖java模块的依赖项,并添加指向所需JRE的依赖项implementation fileTree
。Build.gradle示例:
apply plugin: 'java-library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation fileTree ('/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/rt.jar')
}
sourceCompatibility = "6"
targetCompatibility = "6"
现在,代码完成可以工作了,您甚至可以运行应用程序
Add Configuration:
near run按钮+
-> Use classpath of module
你的java模块:在那里选择你的java模块(不是项目的)https://stackoverflow.com/questions/28544821
复制相似问题