Java如何使用GUI繪製一個實心的矩形?

2019-10-16 22:26:58

在Java的GUI程式設計中,如何使用GUI繪製一個實心的矩形?

以下範例演示如何使用Graphics類的fillRect()方法顯示一個實心矩形。

package com.yiibai;

import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class SolidRectangle extends JPanel {
    public static void main(String[] a) {
        JFrame f = new JFrame();
        f.setTitle("實心的矩形");
        f.setSize(400, 400);
        f.add(new SolidRectangle());
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
    }

    public void paint(Graphics g) {
        g.fillRect(5, 15, 150, 175);
    }
}

上述程式碼範例將產生以下結果。

範例-2

以下是使用GUI繪製實心矩形的另一個範例。

package com.yiibai;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class SolidRectangle2 extends JPanel {
   public void paintComponent(Graphics g) {
      super.paintComponent(g);
      Graphics2D g2d = (Graphics2D) g;
      g2d.setColor(new Color(31, 21, 1));
      g2d.fillRect(250, 195, 90, 60);
   } 
   public static void main(String[] args) {
       SolidRectangle2 rects = new SolidRectangle2();
      JFrame frame = new JFrame("繪製實心矩形");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.add(rects);
      frame.setSize(360, 300);
      frame.setLocationRelativeTo(null);
      frame.setVisible(true);
   }
}

上述程式碼範例將產生以下結果。