我已经使用Java一段时间了,但我从未创建过GUI - 总是CLI。如何在Java中创建GUI?你能建议一个好的教程/参考吗?
我正在寻找一个简单的GUI,它有两个长文本区域和一些按钮。
答案 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.awt
和javax.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)
http://download.oracle.com/javase/tutorial/uiswing/(来自Oracle的教程) http://www.javabeginner.com/java-swing/java-swing-tutorial
搜索“Java Swing教程”:)