在Java中,要實現正方形的平移變換,可以使用Graphics類的drawRect()方法和translate()方法。以下是一個簡單的示例:
import javax.swing.*;
import java.awt.*;
public class SquareTranslationDemo extends JFrame {
public SquareTranslationDemo() {
setTitle("Square Translation Demo");
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void paint(Graphics g) {
super.paint(g);
// 設置正方形的初始位置和大小
int x = 100;
int y = 100;
int width = 50;
int height = 50;
// 繪制原始正方形
g.setColor(Color.BLUE);
g.drawRect(x, y, width, height);
// 平移變換
int translationX = 50;
int translationY = 50;
g.translate(translationX, translationY);
// 繪制平移后的正方形
g.setColor(Color.RED);
g.drawRect(x, y, width, height);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
SquareTranslationDemo demo = new SquareTranslationDemo();
demo.setVisible(true);
});
}
}
在這個示例中,我們首先繪制了一個藍色的正方形,然后使用g.translate()
方法進行平移變換。平移的距離由translationX
和translationY
決定。最后,我們在平移后的位置繪制了一個紅色的正方形。