示例 1 使用 Java 繪製和填充矩形
這是一個在矩形中列印矩形和填充顏色的示例。 https://i.stack.imgur.com/dlC5v.jpg https://i.stack.imgur.com/dlC5v.jpg
Graphics 類的大多數方法可以分為兩個基本組:
- 繪製和填充方法,使你能夠渲染基本形狀,文字和影象
- 屬性設定方法,它們會影響繪圖和填充的顯示方式
程式碼示例:讓我們從一個繪製矩形並在其中填充顏色的示例開始。在那裡我們宣告瞭兩個類,一個類是 MyPanel,另一個類是 Test。在 MyPanel 類中,我們使用 drawRect()
和 fillRect()mathods 來繪製矩形並在其中填充 Color。我們通過 setColor(Color.blue)
方法設定顏色。在第二類中,我們測試我們的圖形,它是 Test Class,我們製作一個 Frame 並將 MyPanel 與 p = new MyPanel()
物件放在其中。通過執行 Test Class,我們看到一個 Rectangle 和一個 Blue Color Filled Rectangle。
頭等艙:MyPanel
import javax.swing.*;
import java.awt.*;
// MyPanel extends JPanel, which will eventually be placed in a JFrame
public class MyPanel extends JPanel {
// custom painting is performed by the paintComponent method
@Override
public void paintComponent(Graphics g){
// clear the previous painting
super.paintComponent(g);
// cast Graphics to Graphics2D
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.red); // sets Graphics2D color
// draw the rectangle
g2.drawRect(0,0,100,100); // drawRect(x-position, y-position, width, height)
g2.setColor(Color.blue);
g2.fillRect(200,0,100,100); // fill new rectangle with color blue
}
}
第二類:測試
import javax.swing.;
import java.awt.;
public class Test { //the Class by which we display our rectangle
JFrame f;
MyPanel p;
public Test(){
f = new JFrame();
// get the content area of Panel.
Container c = f.getContentPane();
// set the LayoutManager
c.setLayout(new BorderLayout());
p = new MyPanel();
// add MyPanel object into container
c.add(p);
// set the size of the JFrame
f.setSize(400,400);
// make the JFrame visible
f.setVisible(true);
// sets close behavior; EXIT_ON_CLOSE invokes System.exit(0) on closing the JFrame
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[ ]){
Test t = new Test();
}
}
有關邊框佈局的更多說明: https : //docs.oracle.com/javase/tutorial/uiswing/layout/border.html
paintComponent()
- 這是一種主要的繪畫方法
- 預設情況下,它首先繪製背景
- 之後,它執行自定義繪畫(繪製圓,矩形等)
Graphic2D 指的是 Graphic2D Class
注意: Java 2D API 使你可以輕鬆執行以下任務:
- 繪製線條,矩形和任何其他幾何形狀。
- 用純色或漸變和紋理填充這些形狀。
- 使用選項繪製文字,以便精確控制字型和渲染過程。
- 繪製影象,可選擇應用過濾操作。
- 在上述任何渲染操作期間應用合成和變換等操作。