एक JPanel एक हल्का कंटेनर है और यह Java में एक अदृश्य घटक है। JPanel का डिफ़ॉल्ट लेआउट FlowLayout है। JPanel बनने के बाद, अन्य घटकों को JPanel ऑब्जेक्ट में इसकी add() विधि को कॉल करके जोड़ा जा सकता है जो Container क्लास से विरासत में मिली है।
paintComponent()
यह विधि JPanel पर बैकग्राउंड कलर बनाने के अलावा कुछ बनाने के लिए आवश्यक है। यह विधि पहले से ही JPanel क्लास में मौजूद है इसलिए हमें इस विधि में कुछ जोड़ने के लिए super घोषणा का उपयोग करने की आवश्यकता है और Graphics ऑब्जेक्ट्स को पैरामीटर के रूप में लेती है। 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);
// आंखें बनाएं
g.setColor(Color.BLACK);
g.fillOval(55, 65, 30, 30);
g.fillOval(135, 65, 30, 30);
// मुंह बनाएं
g.fillOval(50, 110, 120, 60);
// मुस्कान जोड़ें
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);
}
}
आउटपुट
