使用 Graphics 類
介紹
所述 Graphics
類可以繪製到 Java 元件,諸如 Jpanel
,它可以被用於繪製字串,線條,形狀和影象。這是通過重寫了的 paintComponent(Graphics g)
方法 JComponent
你在使用繪圖 Graphics
收到的引數物件做圖形:
class Board
import java.awt.*;
import javax.swing.*;
public class Board extends JPanel{
public Board() {
setBackground(Color.WHITE);
}
@override
public Dimension getPreferredSize() {
return new Dimension(400, 400);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
// draws a line diagonally across the screen
g.drawLine(0, 0, 400, 400);
// draws a rectangle around "hello there!"
g.drawRect(140, 180, 115, 25);
}
}
包裝類 DrawingCanvas
import javax.swing.*;
public class DrawingCanvas extends JFrame {
public DrawingCanvas() {
Board board = new Board();
add(board); // adds the Board to our JFrame
pack(); // sets JFrame dimension to contain subcomponents
setResizable(false);
setTitle("Graphics Test");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLocationRelativeTo(null); // centers window on screen
}
public static void main(String[] args) {
DrawingCanvas canvas = new DrawingCanvas();
canvas.setVisible(true);
}
}
顏色
要繪製具有不同顏色的形狀,你必須在每次繪製呼叫之前使用 setColor
設定 Graphics
物件的顏色 :
g.setColor(Color.BLUE); // draws a blue square
g.fillRect(10, 110, 100, 100);
g.setColor(Color.RED); // draws a red circle
g.fillOval(10, 10, 100, 100);
g.setColor(Color.GREEN); // draws a green triangle
int[] xPoints = {0, 200, 100};
int[] yPoints = {100, 100, 280};
g.fillPolygon(xPoints, yPoints, 3);