2013-04-24 187 views
0

我試圖建立與顯示和9按鈕簡單的計算器GUI網格佈局不正確顯示

public void init() 
    { 
     setSize(60,80); 
     inf = new InfoButton(this); 
     zero = new CalcButton(this,"0"); 
     one = new CalcButton(this,"1"); 
     add = new CalcButton(this,"+"); 
     sub = new CalcButton(this,"-"); 
     div = new CalcButton(this,"/"); 
     mlt = new CalcButton(this,"*"); 
     modu = new CalcButton(this,"%"); 
     blank = new JButton(""); 
     wys = new Wyswietlacz(); // its JTextPane 
     wys.setSize(60,20); 
     przyciski = new JPanel(); 
     przyciski.setSize(60,60); 
     przyciski.setLayout(new GridLayout(3,3)); 
     przyciski.add(zero); 
     przyciski.add(one); 
     przyciski.add(add); 
     przyciski.add(sub); 
     przyciski.add(mlt); 
     przyciski.add(div); 
     przyciski.add(modu); 
     przyciski.add(inf); 
     przyciski.add(blank); 
     calosc = new JPanel(); 
     calosc.setLayout(new BoxLayout(calosc,BoxLayout.Y_AXIS)); 
     calosc.add(wys); 
     calosc.add(przyciski); 
     calosc.setSize(60,80); 
     add(calosc); 



    } 

,並在主我就與大小(60,80)框架,但是當我使其可見所有我能看到的是顯示和一排按鈕。我究竟做錯了什麼?

+2

真的不好主意,使用setSize,鍵佈局管理器處理它,並使用JFrame#pack來設置幀的大小 – MadProgrammer 2013-04-24 20:23:13

回答

1

在wys和przyciski上調用setPreferredSize(..)而不是setSize()。然後使用JFrame的pack(),而不是指定它的大小。