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();
}
}
आउटपुट
