एक JFrame क्लास Frame क्लास का एक सबक्लास है और फ्रेम में जोड़े गए कंपोनेंट्स को इसकी सामग्री के रूप में संदर्भित किया जाता है, इन्हें contentPane द्वारा प्रबंधित किया जाता है। एक JFrame में टाइटल, बॉर्डर, (वैकल्पिक) मेनू बार और यूजर-स्पेसिफिक कंपोनेंट्स के साथ एक विंडो होती है। डिफ़ॉल्ट रूप से, हम स्क्रीन के टॉप-राइट पोजीशन पर मिनिमाइज़ बटन पर क्लिक करके JFrame को मिनिमाइज़ कर सकते हैं और मैक्सिमाइज़ बटन पर क्लिक करके JFrame को मैक्सिमाइज़ कर सकते हैं। हम setState(JFrame.ICONIFIED) का उपयोग करके प्रोग्रामेटिकली भी ऐसा कर सकते हैं JFrame को मिनिमाइज़ करने के लिए और setExtendedState(JFrame.MAXIMIZED_BOTH) का उपयोग करके JFrame को मैक्सिमाइज़ करने के लिए।
उदाहरण
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JFrameIconifiedTest extends JFrame implements ActionListener {
private JButton iconifyButton, maximizeButton;
public JFrameIconifiedTest() {
setTitle("JFrameIconified Test");
iconifyButton = new JButton("JFrame Iconified");
add(iconifyButton, BorderLayout.NORTH);
iconifyButton.addActionListener(this);
maximizeButton = new JButton("JFrame Maximized");
add(maximizeButton, BorderLayout.SOUTH);
maximizeButton.addActionListener(this);
setSize(400, 275);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource().equals(iconifyButton)) { setState(JFrame.ICONIFIED); // To minimize a frame
} else if(ae.getSource().equals(maximizeButton)) { setExtendedState(JFrame.MAXIMIZED_BOTH); // To maximize a frame
}
}
public static void main(String args[]) {
new JFrameIconifiedTest();
}
}
आउटपुट

उपरोक्त प्रोग्राम में, यदि हम "JFrame Iconified" बटन पर क्लिक करते हैं, तो फ्रेम मिनिमाइज़ हो जाता है और "JFrame Maximized" बटन पर क्लिक करने पर, फ्रेम मैक्सिमाइज़ हो जाता है।