我使用Java已经有一段时间了,但我从来没有创建过GUI - 总是CLI。如何在Java中创建GUI?您能否推荐一个好的教程/参考资料?
我想创建一个简单的GUI,其中包含两个长文本区域和一些按钮。
我使用Java已经有一段时间了,但我从来没有创建过GUI - 总是CLI。如何在Java中创建GUI?您能否推荐一个好的教程/参考资料?
我想创建一个简单的GUI,其中包含两个长文本区域和一些按钮。
这里有一个简单的例子
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);
}
}
invokeLater()
方法来在事件分发线程中操作GUI呢?人们说这是必须的,因为Swing不是线程安全的。 - Accountant م您需要做的是创建您的文本/代码文件(使用Note Pad++或Notepad),并记住文件名。
然后打开该文件,并开始编写您的代码。
import java.awt.*;
import javax.swing.*;
这基本上告诉Java从与Java一起下载的各种代码库中获取java.awt
和javax.swing
(这是为帮助开发人员设计的语言,因此易于理解)。
接下来,您需要创建一个包含全部内容的函数,包括大小、文本和颜色等。请记住,我们在这里不编写GUI,因为引入了java.awt.*;
和javax.swing.*
;。
当我输入public class work
时,Work是我的文件名(如果它被称为code,它将是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();
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的帮助,来找我吧。
http://download.oracle.com/javase/tutorial/uiswing/(来自Oracle的教程) http://www.javabeginner.com/java-swing/java-swing-tutorial
搜索“Java Swing教程”:)