GUI编程-Day1

GUI编程-Day1

图形用户编程

1、AWT

Abstract Windows Tools

2、组成部分(感觉像VB)

组件Component

1、Button/TextArea/Label/…
2、Container
  • Window---------->Frame/Dialog

  • Panel------------>Applet

3、框架Frame

在Frame定义中,发现Frame继承了Window类实现MenuContainer类。

public class Frame extends Window implements MenuContainer
		Frame frame = new Frame("Java小游戏");
        frame.setVisible(true);
        frame.setSize(400, 400);
        frame.setBackground(new Color(67, 198, 210));
        frame.setLocation(200, 200);
        frame.setResizable(false);

//new 一个Frame框架并设置title

//设置可见性.setVisible----->Window类的方法------>Component类的方法

//设置窗口大小.setSize----->Window类的方法------>Component类的方法

//设置背景颜色.setBackground----->Frame类的方法

//设置位置.setLocation----->Window类的方法------>Component类的方法

//设置窗口可变性

4、面板Panel

面板是一个空间,但不能单独存在,需要先创建Frame框架,然后通过frame.add(panel)向框架中加入面板。以后增加的组件就放在面板上,而不要放在框架上。

Panel panel = new Panel();
panel.setBackground(Color.gray);
panel.setBounds(50,50,300,300);
 frame.addWindowListener(new WindowAdapter() {
   
            @Override
            public void windowClosing(WindowEvent e) {
   
                System.exit(0);                
            }
        });

添加窗口监听,new 一个WindowAdapter,重写里面的windowClosing方法。

5、三种布局管理器

三种布局说的是FlowLayout、BorderLayout和GridLayout

FlowLayout就是顺序往后排、BorderLayout是分上下左右(North/South/West/East)和中间,GridLayout是分行列按表格布局。

Frame中通过setLayout方法设置,该方法是类Container的方法。需要向该方法中传递一个LayoutManger,这是一个接口,下面有许多它的实现类,包括FlowLayout、BorderLayout和GridLayout。

 public void setLayout(LayoutManager mgr) {
   }

Panel通过创建panel对象时传递LayoutManger类下的实现类设置

 public Panel(LayoutManager layout) {
   
        setLayout(layout);
    }

Frame和Panel均可通过add方法设置布局。例如:

frame.setLayout(new GridLayout(2,1));
Panel panel1 = new Panel(new BorderLayout());
panel1.add(panel2, BorderLayout.CENTER);

6、事件监听

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值