Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào chúng ta có thể triển khai phương thức paintComponent () của JPanel trong Java?


A JPanel là một vùng chứa nhẹ và nó là một thứ vô hình thành phần trong Java. Bố cục mặc định của JPanel là FlowLayout . Sau khi tạo JPanel, các thành phần khác có thể được thêm vào JPanel đối tượng bằng cách gọi add () của nó phương thức được kế thừa từ Vùng chứa lớp học.

paintComponent ()

Phương pháp này là cần thiết để vẽ thứ gì đó trên JPanel khác với việc vẽ màu nền. Phương thức này đã tồn tại trong JPanel để chúng ta cần sử dụng super khai báo để thêm một cái gì đó vào phương thức này và lấy Đồ họa đối tượng dưới dạng các tham số. siêu phẩm . paintComponent () đại diện cho thông thường paintComponent () phương pháp của JPanel mà chỉ có thể xử lý nền của bảng điều khiển phải được gọi ở dòng đầu tiên.

Cú pháp

protected void paintComponent(Graphics g)

Ví dụ

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);
   }
}

Đầu ra

Làm cách nào chúng ta có thể triển khai phương thức paintComponent () của JPanel trong Java?