要使用Java代碼繪制一個(gè)完美的正方形,你可以使用Java的圖形庫,例如AWT(Abstract Window Toolkit)或Swing
import javax.swing.*;
import java.awt.*;
public class SquareDrawer {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame("Perfect Square Drawer");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.add(new SquarePanel());
frame.setVisible(true);
});
}
public static class SquarePanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int width = getWidth();
int height = getHeight();
int squareSize = Math.min(width, height);
int x = (width - squareSize) / 2;
int y = (height - squareSize) / 2;
g.setColor(Color.BLUE);
g.fillRect(x, y, squareSize, squareSize);
}
}
}
這段代碼首先創(chuàng)建了一個(gè)名為SquareDrawer
的類。在main
方法中,我們使用SwingUtilities.invokeLater()
來確保GUI的創(chuàng)建和更新在事件調(diào)度線程上執(zhí)行。然后,我們創(chuàng)建一個(gè)JFrame
對象,設(shè)置其默認(rèn)關(guān)閉操作、大小并添加一個(gè)自定義的JPanel
(名為SquarePanel
)。最后,我們將窗口設(shè)置為可見。
SquarePanel
類繼承自JPanel
,并重寫了paintComponent
方法。在這個(gè)方法中,我們首先調(diào)用super.paintComponent(g)
來執(zhí)行默認(rèn)的繪制操作。接下來,我們獲取面板的寬度和高度,并計(jì)算正方形的大?。ㄈ挾群透叨戎械妮^小值)。然后,我們計(jì)算正方形的左上角坐標(biāo),使其居中于面板。最后,我們設(shè)置繪圖顏色(此處為藍(lán)色)并使用fillRect
方法繪制正方形。
運(yùn)行此代碼后,你將看到一個(gè)包含一個(gè)藍(lán)色正方形的窗口。你可以根據(jù)需要修改顏色、大小等屬性。