Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราจะใช้เมธอด paintComponent () ของ JPanel ใน Java ได้อย่างไร


A JPanel เป็นภาชนะที่มีน้ำหนักเบาและเป็น มองไม่เห็น ส่วนประกอบ ในชวา เลย์เอาต์เริ่มต้นของ JPanel คือ FlowLayout . หลังจากสร้าง JPanel แล้ว คุณสามารถเพิ่มส่วนประกอบอื่นๆ ลงใน JPanel . ได้ วัตถุโดยเรียก add() เมธอดที่สืบทอดมาจาก คอนเทนเนอร์ ชั้นเรียน

paintComponent()

วิธีนี้จำเป็นสำหรับการวาดภาพบน JPanel นอกจากการวาดสีพื้นหลังแล้ว เมธอดนี้มีอยู่แล้วใน JPanel class เพื่อที่เราจะต้องใช้ super ประกาศเพื่อเพิ่มบางอย่างในวิธีนี้และใช้ กราฟิก วัตถุ เป็นพารามิเตอร์ สุดยอด .paintComponent() ซึ่งแสดงถึง paintComponent() ปกติ วิธีการของ JPanel ซึ่งจัดการได้เฉพาะพื้นหลังของพาเนลเท่านั้นต้องถูกเรียกในบรรทัดแรก

ไวยากรณ์

protected void paintComponent(Graphics g)

ตัวอย่าง

import java.awt.*;
import javax.swing.*;
public class SmileyApp extends JPanel {
   @Override
   public void paintComponent(Graphics g) {
      super.paintComponent(g);
      g.setColor(Color.YELLOW);
      g.fillOval(10, 10, 200, 200);
      // draw Eyes
      g.setColor(Color.BLACK);
      g.fillOval(55, 65, 30, 30);
      g.fillOval(135, 65, 30, 30);
      // draw Mouth
      g.fillOval(50, 110, 120, 60);
      // adding smile
      g.setColor(Color.YELLOW);
      g.fillRect(50, 110, 120, 30);
      g.fillOval(50, 120, 120, 40);
   }
   public static void main(String[] args) {
      SmileyApp smiley = new SmileyApp();
      JFrame app = new JFrame("Smiley App");
      app.add(smiley, BorderLayout.CENTER);
      app.setSize(300, 300);
      app.setLocationRelativeTo(null);
      app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      app.setVisible(true);
   }
}

ผลลัพธ์

เราจะใช้เมธอด paintComponent () ของ JPanel ใน Java ได้อย่างไร