如何在Java中创建GUI

时间:2011-02-25 14:58:32

标签: java user-interface

我已经使用Java一段时间了,但我从未创建过GUI - 总是CLI。如何在Java中创建GUI?你能建议一个好的教程/参考吗?

我正在寻找一个简单的GUI,它有两个长文本区域和一些按钮。

7 个答案:

答案 0 :(得分:9)

这是一个简单的例子

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;

public class Foo{

  public static void main(String[] args) {

    JFrame f = new JFrame("A JFrame");
    f.setSize(250, 250);
    f.setLocation(300,200);
    final JTextArea textArea = new JTextArea(10, 40);
    f.getContentPane().add(BorderLayout.CENTER, textArea);
    final JButton button = new JButton("Click Me");
    f.getContentPane().add(BorderLayout.SOUTH, button);
    button.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            textArea.append("Button was clicked\n");

        }
    });

    f.setVisible(true);

  }

}

答案 1 :(得分:6)

在Oracle Tutorial的页面上阅读Swing

答案 2 :(得分:2)

你需要做的就是创建你的文本/代码(Note Pad ++或Notepad)并记住名称。

然后打开一个类型

import java.awt.*;
import javax.swing.*;

这基本上告诉java从你下载的java附带的各种代码库中获取java.awtjavax.swing(可以理解,因为这是帮助开发人员的语言)。

然后你需要制作你的功能,包括尺寸,文字内部,颜色等。请记住,我们在这里没有对gui进行编码,因为我们在导入导入java.awt.*;javax.swing.*时已经完成了。

当我放置public class work时,请使用我的文件名称(如果它被称为代码,则为public class code

public class work {

private static void createWindow() {

 //Create and set up the window
 JFrame frame = new JFrame ("simple GUI");
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 JLabel textLabel = new JLabel("Im cool" ,SwingConstants.CENTER); 
 textLabel.setPreferredSize(new Dimension(300, 100));
 frame.getContentPane().add(textLabel, BorderLayout.CENTER);
 //Display the window
 frame.setLocationRelativeTo(null);
 frame.pack();
 frame.setVisible(true); 

请记住,您没有在任何地方调用该函数,它基本上等待它直到被调用。

public static void main(String[] args) {

这告诉计算机接下来会发生什么,当我运行程序时你会这样做。

所以内部你需要把

createWindow();

由于这就是您在上面调用的函数并调用了函数,因此您无需像运行程序那样调用此函数。

答案 3 :(得分:1)

这里有不同的可能性,但我建议将Swing与Netbeans等IDE一起使用,它提供了一个非常好的WYSIWYG编辑器(称为Matisse)。

Netbeans还有可用于快速入门的项目模板。

最后,正如其他人指出的那样,确保做好功课并阅读一些初学者Swing教程。

答案 4 :(得分:1)

有:

答案 5 :(得分:1)

创建JFrame并不像人们想象的那么难,您只需要一个定义类和一个GUI类。这是Java中最简单的事情之一

定义类:

public class GetMyJavaWindow {
public static void main (String args[]) {
new JavaWindow();
}
}

JFrame类:

import javax.swing.JFrame;

public class JavaWindow { // Class name must match what it says in the def. class
public static final long serialVersionUID = 1L; // Needed for the JFrame to work.

public JavaWindow() { // Must match class name

this.setVisible(true); // Required
this.setDefaultCloseOperation(EXIT_ON_CLOSE); // Required
this.setSize(800,600); // this.setSize (x,y);

}
}

如果您需要更多GUI帮助,请找我。

答案 6 :(得分:0)