您的位置:

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