JFrame mf=new JFrame();
mf.setVisible(true);
mf.setTitle("enter sth");
mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mf.setSize(400, 300);
Container ct= mf.getContentPane();
ct.setLayout(new GridLayout(4,4));
//ct.add(new JButton("hello"));
String s= "987/654*321-0=C+";
for(int i=0;i<s.length();i++)
{
JButton jb=new JButton(Character.toString(s.charAt(i)));
ct.add(jb);
jb.setVisible(true);
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【hbgzg3006】截止到2008-07-02 15:01:00的历史汇总数据(不包括此帖):
    发帖的总数量:1                        发帖的总分数:0                        
    结贴的总数量:1                        结贴的总分数:0                        
    无满意结贴数:1                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:---------------------
    无满意结贴率:100.00%               无满意结分率:---------------------
    敬礼!
      

  2.   

    按纽的位置是不是放的地方不对啊,好久没有用swing了,记不得了
      

  3.   

    调整代码顺序,具体看我加的注释
            JFrame mf = new JFrame();
            mf.setTitle("enter sth");
            mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            mf.setSize(400, 300);
            Container ct = mf.getContentPane();
            ct.setLayout(new GridLayout(4, 4));
            // ct.add(new JButton("hello"));
            String s = "987/654*321-0=C+";
            for(int i = 0; i < s.length(); i++)
            {
                JButton jb = new JButton(Character.toString(s.charAt(i)));
                ct.add(jb);
                // 下面这行完全没作用,注掉
                // jb.setVisible(true);
            }
            
            //调整一下顺序,把这行放到最后
            mf.setVisible(true);
      

  4.   

    如果还不行,就把这个加到倒数第二行
    mf.validate();
      

  5.   

    另外,强烈建议不要使用1.4及其以下版本的JDK
      

  6.   


    不至于呀,我这里1.5的正常
    用JBuilder搞的吧,hoho~~~~~~~~~~~~~该换了