JPanel একটি লাইটওয়েট কন্টেইনার এবং এটি জাভাতে একটি অদৃশ্য কম্পোনেন্ট। একটি JPanel-এর ডিফল্ট লেআউট FlowLayout। JPanel তৈরি হওয়ার পর, অন্যান্য কম্পোনেন্টগুলো Container ক্লাস থেকে ইনহেরিট করা add() মেথড কল করে JPanel অবজেক্টে যোগ করা যেতে পারে।
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);
}
}
আউটপুট
