如何在android studio中导入javax.swing

时间:2015-02-16 15:29:41

标签: import android-studio

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

我使用LibGDX安装了最新的SDK。我仍然无法设置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(); 
    } 

enter image description here

3 个答案:

答案 0 :(得分:6)

我曾经遇到过同样的问题;这是如何解决它。 你看,我们试图在一个完全错误的环境中使用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 文件添加新行: compile files ('<path_to_your_jdk's_rt.jar>') 像这样: compile files ('C:/Program Files/Java/jdk1.8.0_31/jre/lib/rt.jar') 注意单引号和正斜杠。然后点击同步Gradle 图标,欣赏视图。

但是,在我们的特定情况下,程序将无法运行。代码本身很干净,没有错误;如果摆动到位并连接起来,IntelliJ就不会怀疑一件事;项目将编译...但是我们将得到一个运行时错误。现在你知道为什么了。另一方面,当我们不干扰Android API时,这种方法就像魔术一样 - 我们首先不应该这样做。

这就是它的全部内容。

答案 1 :(得分:5)

你不能在Android上使用Swing。 Android有自己的UI框架,这是不同的,不支持Swing。要查看Android上支持的Java API,请查看http://developer.android.com/reference/packages.html

上的API文档

答案 2 :(得分:0)

可以。除了Igor的答案,还有以下步骤:

  1. 创建新的Android Studio项目:文件->新建->新项目->手机和平板电脑->不添加活动,显然选择Java(不是Kotlin)作为语言。
  2. 添加新的Java模块:文件->新建->新模块-> Java库
  3. 删除Android模块:文件->项目结构->模块->应用,然后点击-按钮。
  4. 注意:可能不需要执行步骤5。首先尝试不使用它。
  5. 编辑Java模块的build.gradle ,并添加指向您需要的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:
  • 点击+->应用程序
  • 选择您的Main Class
  • Use classpath of module处:在此处选择您的Java模块(不是项目的)