首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在android studio中导入javax.swing

如何在android studio中导入javax.swing
EN

Stack Overflow用户
提问于 2015-02-16 23:29:41
回答 3查看 19.2K关注 0票数 8

我刚刚安装了Android Studio并启动了一个简单的应用程序。好的开始是一个过度的声明,我在前几行卡住了,无法将JFrame导入到android studio中。

我用LibGDX安装了最新的软件开发工具包。我仍然无法设置JFrame。我在网上/youtube上搜索了一下,没有找到任何解决方案。

我可以在外部库中看到javax和swing,但无法导入。

你知道我做错了什么或没有做什么吗?

我不是在寻找一个“如何指导”,我只是一个指针,我应该去寻找答案。

哇,回应量不是很大。

如果我问了一个愚蠢的问题或困难的问题,请告诉我。

代码语言:javascript
运行
复制
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(); 
    } 

EN

回答 3

Stack Overflow用户

发布于 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时,这个方法就像魔术一样工作-这是我们一开始就不应该做的。

非那样做不行。

票数 10
EN

Stack Overflow用户

发布于 2015-02-18 01:45:18

你不能在Android上使用Swing。Android有自己的UI框架,这是不同的,Swing不受支持。要了解安卓系统支持哪些Java,请查看http://developer.android.com/reference/packages.html上的API文档

票数 9
EN

Stack Overflow用户

发布于 2019-06-24 05:51:16

是的你可以。除了Igor的回答之外,下面是步骤:

  1. Create新的Android Studio项目:File -> new Project -> Phone obviously.
  2. Add Tablet -> Add No Activity选择Java (而不是Kotlin)作为language obviously.
  3. Add New Java module:File -> New -> new Module -> Java Library
  4. Remove Android module:File -> Project Structure -> Modules -> app,点击- app步骤5可能不需要。尝试不使用它来依赖java模块的依赖项,并添加指向所需JRE的依赖项implementation fileTree

Build.gradle示例:

代码语言:javascript
运行
复制
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模块(不是项目的)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28544821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档