2010-03-15 12 views
17

मैं 500x500 के उपयोग करने योग्य सामग्री क्षेत्र के साथ एक जेएफआरएम बनाने की कोशिश कर रहा हूं। मैं ऐसा करते हैं तो ...स्विंग: जेएफआरएएम सामग्री क्षेत्र का आकार सेट करें

public MyFrame() { 
    super("Hello, world!"); 
    setSize(500,500); 
} 

... मैं एक खिड़की जिसका पूर्ण आकार 500x500 है, जहां मैं वास्तव में एक खिड़की जिसका आकार 504x520 तरह कुछ के लिए खाते में करने के लिए है की जरूरत शीर्षक पट्टी, आदि, भी शामिल है मिल खिड़की सीमा और शीर्षक पट्टी। इसे कैसे प्राप्त किया जा सकता है?

उत्तर

23

आप चीजों की जोड़ी की कोशिश कर सकते हैं: 1 - एक हैक:

public MyFrame(){ 
JFrame temp = new JFrame; 
temp.pack(); 
Insets insets = temp.getInsets(); 
temp = null; 
this.setSize(new Dimension(insets.left + insets.right + 500, 
      insets.top + insets.bottom + 500)); 
this.setVisible(true); 
this.setResizable(false); 
} 

2- या फ्रेम की सामग्री फलक और करने के लिए एक JPanel जोड़े बस वरीय/न्यूनतम आकार JPanel की करने के लिए सेट 500x500, कॉल पैक()

  • 2- अधिक पोर्टेबल है
7

कोई बात नहीं, मैं यह समझ से बाहर:

public MyFrame() { 
    super("Hello, world!"); 

    myJPanel.setPreferredSize(new Dimension(500,500)); 
    add(myJPanel); 
    pack(); 
} 
+2

जावा 5 में यह वास्तव में किसी अन्य पैनल के बिना ऐसा करना संभव है। Http://stackoverflow.com/questions/2796775/setting-the-size-of-a-contentpane-inside-of-a-jframe देखें। –

24

, बस का उपयोग करें:

public MyFrame() { 
    this.getContentPane().setPreferredSize(new Dimension(500, 500)); 
    this.pack(); 
} 

कोई जरूरत नहीं एक JPanel, वहाँ में होने के लिए अगर आप सिर्फ फ्रेम के आकार सेट करना चाहते हैं नहीं है।

+0

सरल समाधान। –

संबंधित मुद्दे