随着图形用户界面(GUI)的出现,Java 也开始向 GUI 方向发展,并提供了一些工具包,以帮助我们在 Java 中创建可视化应用程序。Java 可视化包括 JavaFX 和 Swing 等,并且这些工具可以轻松地与不同平台进行交互。
一、Swing 可视化
Swing 是 Java 中的一个独立平台,它允许我们使用鼠标和键盘等多种输入方式向用户显示信息。它可以用来设计各种类型的应用程序,例如图形编辑器、文本编辑器、游戏等。
1、创建窗口
创建 JFrame 类并继承它,然后调用方法 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) 可以将框架窗口设置为关闭状态。然后,我们可以使用 setSize 方法来设置窗口大小。接下来,我们需要使框架可见,只需调用 setVisible 方法。
import javax.swing.JFrame; public class GUI extends JFrame{ public GUI(){ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 300); setVisible(true); } public static void main(String[] args) { new GUI(); } }
2、添加标签和按钮
使用 JLabel 和 JButton 来向窗口添加标签和按钮。可以使用 setLocation 方法来设置标签和按钮的位置。
import javax.swing.*; public class GUI extends JFrame { public GUI(){ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 300); setVisible(true); JLabel label = new JLabel("Hello, World!"); add(label); label.setLocation(100, 150); JButton button = new JButton("Click me"); add(button); button.setLocation(100, 100); } public static void main(String[] args) { new GUI(); } }
二、JavaFX 可视化
JavaFX 是 Java 平台上的一种 GUI 工具包,它提供了一个现代化的、可扩展的感官用户界面设计。JavaFX 拥有它自己的渲染引擎,可以实现平滑的动态过渡和其他图形效果。JavaFX 适合用于现代 UI 开发。
1、创建窗口
创建 JavaFX 应用程序时,需要继承 Application 类并重写 start 方法。start 方法将为我们提供一个 Stage,它将成为应用程序窗口。我们可以使用 setTitle 方法设置窗口标题,使用 setWidth 和 setHeight 方法设置窗口的大小。
import javafx.application.Application; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { primaryStage.setTitle("Hello, World!"); primaryStage.setWidth(300); primaryStage.setHeight(300); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
2、添加标签和按钮
JavaFX 中的标签可以通过 Label 类来创建,可以使用 setText 方法设置文本内容;按钮可以通过 Button 类来创建,可以使用 setText 方法设置按钮的文本内容。
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { Label label = new Label("Hello, World!"); Button button = new Button("Click me"); StackPane root = new StackPane(); root.getChildren().add(label); root.getChildren().add(button); primaryStage.setScene(new Scene(root, 300, 300)); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
三、图形化绘图
除了添加标签和按钮外,我们也可以在窗口中进行自定义的图形绘制。Java 提供了一些绘图2D API,例如 Graphics2D 和 Shape 等。使用 Graphics2D 类可以在窗口中绘制各种形状,例如圆形、矩形、线条和弧线等。
1、绘制矩形和圆形
import javax.swing.*; import java.awt.*; public class DrawShapes extends JFrame { public DrawShapes(){ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 300); setVisible(true); } public void paint(Graphics g) { super.paint(g); Graphics2D g2d = (Graphics2D) g; g2d.setColor(Color.RED); g2d.fillRect(50, 50, 50, 50); g2d.setColor(Color.BLUE); g2d.fillOval(100, 100, 50, 50); } public static void main(String[] args) { new DrawShapes(); } }
2、绘制线条和弧线
import javax.swing.*; import java.awt.*; public class DrawShapes extends JFrame { public DrawShapes(){ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 300); setVisible(true); } public void paint(Graphics g) { super.paint(g); Graphics2D g2d = (Graphics2D) g; g2d.setColor(Color.RED); g2d.drawLine(50, 50, 200, 50); g2d.setColor(Color.BLUE); g2d.drawArc(100, 100, 100, 100, 90, 180); } public static void main(String[] args) { new DrawShapes(); } }
结语
Java 提供了许多工具来创建可视化的应用程序。Swing 和 JavaFX 可以帮助我们构建具有现代 UI 设计理念的应用程序,而绘图2D API 可以让我们进行自定义的图形绘制。在此基础上,我们可以创建不同类型的应用程序,例如游戏、图形编辑器、文本编辑器等。