A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 阿牛 中级黑马   /  2012-3-25 07:40  /  1637 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

问题:运行后,没有按钮,没有文本框。我检查了n多遍,实在找不出问题,大伙帮忙给看看。
import java.awt.*;
import java.awt.event.*;
class  myWindowDemo
{
        private Frame f;
        private TextField tf;
        private Button b;
        private TextArea ta;

        myWindowDemo()
        {
                init();
        }
       
        public void init()
        {
                f=new Frame("my window");
                f.setBounds(300,100,500,500);
                tf=new TextField(30);
                b=new Button("转到");
                ta=new TextArea(10,20);

                f.add(tf);
                f.add(b);
                f.add(ta);

                myEvent();
                f.setVisible(true);
        }
        public void myEvent()
        {
                f.addWindowListener(new WindowAdapter()
                {
                        public void windowClosing(WindowEvent e)
                        {
                                System.exit(0);
                        }
                });
        }
        public static void main(String[] args)
        {
                new myWindowDemo();
        }
}

4 个回复

倒序浏览
frame默认的布局方式是BorderLayout,所以在没有给那些组件指定方位时,按钮将填充整个窗口,所以你看不到你想看到的,
你可以将布局改为流式布局,即f.setLayout(new FlowLayout());这样就可以了
回复 使用道具 举报
电脑关机!被人抢先回答了!郁闷!!补充下:
默认就是居中填充,后添加的组件会把之前添加的组件覆盖,
你看到的是一个很大的TextArea文本框!改为流式布局确实就能看到你的其他文本框和按钮了。
可以用很多组件都可以用setBounds()来设置他的初始位置和初始大小哦!!
回复 使用道具 举报
刘元明 发表于 2012-3-25 08:01
frame默认的布局方式是BorderLayout,所以在没有给那些组件指定方位时,按钮将填充整个窗口,所以你看不到 ...

谢谢 谢谢
回复 使用道具 举报
黄云南 发表于 2012-3-25 08:09
电脑关机!被人抢先回答了!郁闷!!补充下:
默认就是居中填充,后添加的组件会把之前添加的组件覆盖,
你 ...

谢谢
呵呵,殷切期望刘老师或者老罗或者房版主,给我以及所有回帖的人都加分吧,呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马