legongju.com
我们一直在努力
2025-01-15 13:10 | 星期三

如何在Java中实现正方形的旋转

要在Java中实现正方形的旋转,你可以使用Java2D图形库

import javax.swing.*;
import java.awt.*;
import java.awt.geom.AffineTransform;

public class SquareRotationExample extends JFrame {
    public SquareRotationExample() {
        setTitle("Square Rotation Example");
        setSize(400, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);

        Graphics2D g2d = (Graphics2D) g;
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

        // 设置正方形的位置和大小
        int squareX = 100;
        int squareY = 100;
        int squareWidth = 100;
        int squareHeight = 100;

        // 创建一个新的AffineTransform对象,用于存储旋转信息
        AffineTransform transform = new AffineTransform();

        // 设置旋转的角度(以弧度为单位)
        double rotationAngle = Math.toRadians(45);

        // 将原点移动到正方形的中心,以便围绕中心旋转
        transform.translate(squareX + squareWidth / 2, squareY + squareHeight / 2);

        // 应用旋转
        transform.rotate(rotationAngle);

        // 将原点移回到正方形的左上角
        transform.translate(-squareX - squareWidth / 2, -squareY - squareHeight / 2);

        // 将变换应用于Graphics2D对象
        g2d.setTransform(transform);

        // 绘制正方形
        g2d.setColor(Color.BLUE);
        g2d.fillRect(squareX, squareY, squareWidth, squareHeight);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            SquareRotationExample frame = new SquareRotationExample();
            frame.setVisible(true);
        });
    }
}

这个示例创建了一个窗口,并在其中绘制了一个旋转的正方形。通过修改rotationAngle变量,你可以改变正方形的旋转角度。请注意,这个示例使用了弧度作为角度单位,因此我们使用Math.toRadians()方法将角度转换为弧度。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/105703.html

相关推荐

  • Java编程:stdin的多线程处理

    Java编程:stdin的多线程处理

    在Java编程中,可以使用多线程来处理stdin(标准输入),以实现并发处理输入数据的功能。以下是一个简单的示例代码,演示了如何使用多线程处理stdin输入数据:

  • Java中如何实现声音的录制与播放

    Java中如何实现声音的录制与播放

    在Java中实现声音的录制与播放可以使用JavaSound API。以下是一个简单的示例代码:
    录制声音:
    import javax.sound.sampled.*; public class AudioRec...

  • Java sound编程实战技巧分享

    Java sound编程实战技巧分享

    在Java中实现音频处理和播放可以使用Java Sound API。下面是一些Java Sound编程的实战技巧: 使用AudioSystem类来获取音频输入和输出设备。可以使用getMixerInfo...

  • 如何在Java应用中集成声音功能

    如何在Java应用中集成声音功能

    在Java应用中集成声音功能可以使用Java内置的音频库javax.sound,以下是一些基本步骤: 导入javax.sound包:在代码中导入javax.sound包中的相关类。 import java...

  • Java正方形的对角线长度如何计算

    Java正方形的对角线长度如何计算

    在Java中,要计算正方形的对角线长度,可以使用勾股定理。首先,需要知道正方形的边长。假设边长为a,则对角线长度d可以通过以下公式计算:
    d = sqrt(2) * ...

  • 怎样在Java中判断一个四边形是正方形

    怎样在Java中判断一个四边形是正方形

    要判断一个四边形是否为正方形,需要满足以下条件: 四边形有四条相等的边。
    四边形有两对相等的角度(每对角度相等且互补)。 在Java中,可以通过计算四边...

  • 怎样在Java中处理Action事件

    怎样在Java中处理Action事件

    在Java中,处理Action事件通常涉及到使用Swing库中的组件,如JButton 导入所需的库: import javax.swing.*;
    import java.awt.*;
    import java.awt.eve...

  • Java中Action的执行顺序是怎样的

    Java中Action的执行顺序是怎样的

    在Java中,Action的执行顺序通常取决于以下几个因素: 事件源:Action是由特定的事件源(如按钮、菜单项等)触发的。事件源决定了Action的执行时机。 事件监听器...