Java 可视化编程
随着图形用户界面(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 可以让我们进行自定义的图形绘制。在此基础上,我们可以创建不同类型的应用程序,例如游戏、图形编辑器、文本编辑器等。