Java中正方形邊框的繪制技巧

小樊
89
2024-08-30 07:26:59

在Java中,要繪制一個(gè)正方形邊框,可以使用Java的圖形庫(kù)(如AWT或Swing)來(lái)實(shí)現(xiàn)。以下是使用Swing組件和Graphics類繪制正方形邊框的示例代碼:

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

public class SquareBorderDemo {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JFrame frame = new JFrame("Square Border Demo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setSize(400, 400);
            frame.add(new SquareBorderPanel());
            frame.setVisible(true);
        });
    }
}

class SquareBorderPanel extends JPanel {
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);

        // 設(shè)置正方形的邊框顏色
        g.setColor(Color.BLUE);

        // 計(jì)算正方形的位置和大小
        int squareSize = Math.min(getWidth(), getHeight()) / 2;
        int x = (getWidth() - squareSize) / 2;
        int y = (getHeight() - squareSize) / 2;

        // 繪制正方形邊框
        g.drawRect(x, y, squareSize, squareSize);
    }
}

這段代碼首先創(chuàng)建了一個(gè)名為SquareBorderDemo的主類,然后在main方法中創(chuàng)建了一個(gè)JFrame窗口。接著,我們創(chuàng)建了一個(gè)自定義的JPanel子類SquareBorderPanel,并重寫了其paintComponent方法。在這個(gè)方法中,我們首先調(diào)用super.paintComponent(g)來(lái)保證父類的繪制邏輯得到執(zhí)行。然后,我們?cè)O(shè)置了正方形邊框的顏色,計(jì)算了正方形的位置和大小,最后使用g.drawRect()方法繪制了正方形邊框。

運(yùn)行這段代碼,你將看到一個(gè)包含一個(gè)藍(lán)色正方形邊框的窗口。你可以根據(jù)需要調(diào)整窗口大小,正方形邊框會(huì)自動(dòng)調(diào)整其大小以適應(yīng)窗口。

0