网格布局无法正确显示

时间:2013-04-24 20:14:38

标签: java swing

我正在尝试用显示屏和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)的框架但是当我让它可见时我只能看到显示和一行按钮。我做错了什么?

1 个答案:

答案 0 :(得分:1)

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