java - android - 如何将 java swing 转换为 android?

标签 java android swing user-interface layout

我对 Android 完全是个菜鸟,真的很难理解一些概念。我对java swing也有一点了解。我对使用 spring mvc 的 java web 应用程序有一点了解。我正在使用 eclipse indigo

事情是这样的:

在我成功创建名为 AndroidExer 的 Android 应用程序后我创建了一个包 com.swing.demo并放置已经运行的swing源代码JTextAreaDemo.java (来源来自教程。这是在纯java中工作的)。看来android无法识别swing包(我不知道我是否理解正确,请帮助我),因为我遇到了很多错误,其中大多数都说<Class name> cannot be resolved to a type.当我检查建议时,Eclipse 不包含任何有关导入的建议,这让我认为 android 无法识别 swing。

我尝试了一些研究,发现 Android 无法运行 swing。 can we run java swing and applet on android

我的问题是如何将简单的 swing 演示转换为 android。我不知道从哪里以及如何开始。我真的需要帮助。顺便说一句,代码是 JTextAreaDemo.java如下:

JTextAreaDemo.java

package com.swing.demo;

import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class JTextAreaDemo extends JFrame implements ActionListener {

   /**
 * 
 */
private static final long serialVersionUID = 5416184196156296457L;
JTextField jtfInput;
JTextArea jtAreaOutput;
String newline = "\n";
public JTextAreaDemo() {
    createGui();
}
public void createGui() {
    jtfInput = new JTextField(20);
    jtfInput.addActionListener(this);
    jtAreaOutput = new JTextArea(5, 20);
    jtAreaOutput.setCaretPosition(jtAreaOutput.getDocument()
            .getLength());
    jtAreaOutput.setEditable(false);
    JScrollPane scrollPane = new JScrollPane(jtAreaOutput,
            JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
            JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    GridBagLayout gridBag = new GridBagLayout();
    Container contentPane = getContentPane();
    contentPane.setLayout(gridBag);
    GridBagConstraints gridCons1 = new GridBagConstraints();
    gridCons1.gridwidth = GridBagConstraints.REMAINDER;
    gridCons1.fill = GridBagConstraints.HORIZONTAL;
    contentPane.add(jtfInput, gridCons1);
    GridBagConstraints gridCons2 = new GridBagConstraints();
    gridCons2.weightx = 1.0;
    gridCons2.weighty = 1.0;
    contentPane.add(scrollPane, gridCons2);
}
public void actionPerformed(ActionEvent evt) {
    String text = jtfInput.getText();
    jtAreaOutput.append(text + newline);
    jtfInput.selectAll();
}
public static void main(String[] args) {
    JTextAreaDemo jtfTfDemo = new JTextAreaDemo();
    jtfTfDemo.pack();
    jtfTfDemo.addWindowListener(new WindowAdapter() {

        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    });
    jtfTfDemo.setVisible(true);
}
}

我真的需要你的帮助。谢谢。

最佳答案

我认为你不能将这两者混合在一起。如果你想要 Android 原生应用程序,你需要使用 Android API 而不是 Swing。这是安卓documentation .

关于java - android - 如何将 java swing 转换为 android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11895016/

相关文章:

java - 如何让扫描仪接受持续输入

java - 我需要一个正则表达式来阻止任何非 3 个(或更多)字母单词的内容?

java - JSpinner stateChanged 是如何工作的?

java - 试图在 Jframe(形成汽车)上为线条/圆的 ArrayList 设置动画,但我似乎无法删除绘制的旧线条

java - android中的android os networkonmainthreadexception错误

Java:在没有 Arrays.toString 的情况下打印数组

android - 如何解码二维码

android - 如何将 MediaPlayer 用于 fragment 中的 SurfaceView

java - 如何在 Google App Engine 上执行异步?

java - Swing invokeLater 永远不会出现,invokeAndWait 会抛出错误。我能做些什么?