2012-09-07 5 views
1

Im 매우 새로운 자바. 나는 틀에 무슨 문제가 있는지 모른다. 크기를 300과 200으로 설정했습니다. Im은 짧고 뚱뚱한 스틱을 보았습니다.swing - JFrame이 실제 크기를 표시하지 않습니다.

import java.awt.Color; 
import java.awt.Container; 
import java.awt.FlowLayout; 

import javax.swing.JFrame; 

public class BicycleDemo extends JFrame { 
    /** 
    * The serialVersionUID. 
    */ 
    private static final long serialVersionUID = -4541236176053545919L; 

    public static void createGUI() { 
      JFrame jFrame = new JFrame("JFrame Demo"); 
      jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

      Container container = jFrame.getContentPane(); 
      container.setLayout(new FlowLayout()); 
      container.setBackground(Color.BLACK); 

      jFrame.setSize(300, 200); 
      jFrame.setResizable(false); 
      jFrame.pack(); 
      jFrame.setVisible(true); 
    } 

    public static void main(String[] args) { 
      javax.swing.SwingUtilities.invokeLater(new Runnable() { 
       public void run() { 
         createGUI(); 
       } 
      }); 
    } 
} 

이 도와주세요 :

다음은 내 코드입니다.

+2

'pack()'은 JFrame의 크기를 조절합니다. 'pack()'다음에'setSize'를하거나,'pack()'을하지 마십시오. – Richante

답변

1

pack()으로 전화하십시오. pack() 메서드는 프레임을 가능한 한 작은 크기로 조정하여 모든 요소를 ​​보유합니다. 사실 크기를 200 x 300으로 설정 한 다음 pack()으로 프레임의 크기를 다시 조정합니다.

그러나 "모든 요소 보유"는 원하는 크기로 계산됩니다.이 크기는 많은 경우에 단지 0x0 픽셀 일 수 있습니다.

+0

정말 고마워요 !!! 이것으로 해결했습니다. 몇 분 후에 받아 들일거야. – TheOnlyIdiot

+1

많은 경우에 * ".. 편집 할 수 있습니다. *".. 너무 빨리 부르면 * "? –

+2

_ 최소 크기로 계산 _ 잘못됨 : 해당 _preferred_ 크기로 계산 됨 – kleopatra

관련 문제