JavaGUI,全称Java图形用户界面,主要由AWTT组成、Swing、JavaFX由三个框架组成,它们分别代表了JavaGUI的三个开发阶段。JavaGUI框架的主要功能是为Java程序提供人机交互界面,使Java程序具有更好的用户体验。
一、AWT框架 {#title-1}
1、Java的AWT(AbstractWindowToolkit)它是Java最早的GUI框架,它可以提供一种与平台无关的方式来创建GUI组件,如窗口、对话框和按钮。
import java.awt.*;
class AWTExample{
AWTExample(){
Frame f=new Frame();
Button b=new Button("click me");
b.setBounds(80,100,60,50);
f.add(b);
f.setSize(300,300);
f.setLayout(null);
f.setVisible(true);
}
public static void main(String args[]){
new AWTExample();
}
}
2、但AWT的设计并不完美。例如,它依赖于当地的窗口系统,这导致相同的Java程序在不同的平台上可能有不同的用户界面。
二、Swing框架 {#title-2}
1、为了解决AWT的这些问题,Java引入了Swing框架。Swing基于AWT,提供了一套更丰富的图形界面组件,如按钮、文本框、单选框、复选框等。
import javax.swing.*;
class SwingExample{
JFrame f;
SwingExample(){
f=new JFrame();
JButton b=new JButton("click");
b.setBounds(130,100,100, 40);
f.add(b);
f.setSize(400,500);
f.setLayout(null);
f.setVisible(true);
}
public static void main(String[] args) {
new SwingExample();
}
}
2、Swing框架的最大特点是它完全由Java编写,这意味着Swing提供的GUI组件在所有Java支持的平台上具有完全一致的外观和行为。
三、JavaFX框架 {#title-3}
1、JavaFX是Java最新的GUI框架,它提供了一种新的用户界面制作工具,允许开发人员快速设计高质量的用户界面。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
public class JavaFXExample extends Application{
@Override
public void start(Stage primaryStage){
Button btn = new Button();
btn.setText("Click me");
Scene scene = new Scene(btn, 200, 250);
primaryStage.setTitle("JavaFX Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args){
launch(args);
}
}
2、JavaFX支持CSS风格,内置多种特效,支持2D、与AWT和Swing框架相比,3D图形具有更好的视觉效果和更好的性能。