示例 1 使用 Java 繪製和填充矩形

這是一個在矩形中列印矩形和填充顏色的示例。 https://i.stack.imgur.com/dlC5v.jpg https://i.stack.imgur.com/dlC5v.jpg

Graphics 類的大多數方法可以分為兩個基本組:

  1. 繪製和填充方法,使你能夠渲染基本形狀,文字和影象
  2. 屬性設定方法,它們會影響繪圖和填充的顯示方式

程式碼示例:讓我們從一個繪製矩形並在其中填充顏色的示例開始。在那裡我們宣告瞭兩個類,一個類是 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 使你可以輕鬆執行以下任務:

  • 繪製線條,矩形和任何其他幾何形狀。
  • 用純色或漸變和紋理填充這些形狀。
  • 使用選項繪製文字,以便精確控制字型和渲染過程。
  • 繪製影象,可選擇應用過濾操作。
  • 在上述任何渲染操作期間應用合成和變換等操作。