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); } }
ผลลัพธ์