OverlayLayout
- OverlayLayout হলো Object ক্লাসের একটি সাবক্লাস এবং এটি কম্পোনেন্টগুলোকে একে অপরের উপরে সাজায় এবং কম্পোনেন্টের নির্দিষ্ট অ্যালাইনমেন্ট ব্যবহার করে সাপেক্ষিকভাবে পজিশন করে।
- যদি কম্পোনেন্টগুলোকে ভিন্ন আকার দেওয়া হয়, তবে সকল কম্পোনেন্ট দেখা যায়।
- কম্পোনেন্টগুলো একে অপরের উপরে বা ফ্রেমে যেকোনো জায়গায় অ্যালাইন করতে setAlignmentX() এবং setAlignmentY() দুটি মেথড ব্যবহার করা হয়। প্যারামিটারগুলো ফ্লোটিং ভ্যালু যা 0.0f থেকে 1.0f পর্যন্ত। OverlayLayout ডিফল্টভাবে সর্বোচ্চ 1.0f নেয়।
- OverlayLayout-এর গুরুত্বপূর্ণ মেথডগুলো হলো addLayoutComponent(), getTarget(), invalidateLayout(), maximumLayoutSize() ইত্যাদি।
উদাহরণ
import java.awt.*;
import javax.swing.*;
import javax.swing.OverlayLayout;
public class OverlayLayoutTest extends JFrame {
public OverlayLayoutTest() {
setTitle("OverlayLayout Test");
JPanel panel = new JPanel() {
public boolean isOptimizedDrawingEnabled() {
return false;
}
};
LayoutManager overlay = new OverlayLayout(panel);
panel.setLayout(overlay);
JButton button = new JButton("Small");
button.setMaximumSize(new Dimension(75, 50));
button.setBackground(Color.white);
panel.add(button);
button = new JButton("Medium Btn");
button.setMaximumSize(new Dimension(125, 75));
button.setBackground(Color.lightGray);
panel.add(button);
button = new JButton("Large Button");
button.setMaximumSize(new Dimension(200, 100));
button.setBackground(Color.orange);
panel.add(button);
add(panel, BorderLayout.CENTER);
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String args[]) {
new OverlayLayoutTest();
}
}
আউটপুট
