黑马程序员—20—java基础:有关GUI图形用户界面学习笔记和学习心得体会

 ------- <a href="http://www.itheima.com" target="blank">android培训</a><a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

1.  GUI:用图形的方式,来显示计算机操作的界面,这样更方便更直观。

a) CLI就是常见的Dos命令行操作。需要记忆一些常用的命令,操作不直观。

b) javaGUI提供的对象都存在java.Awtjavax.Swing两个包中

c) java.Awt:需要调用本地系统方法实现功能,属于重量级控件。

d) javax.Swing:Awt的基础上,建立的一套图形界面体统,其中提供了更多的组件

而且完全有java实现,增强了移植性,属性量级控件。具有跨平台性。

2.  容器中的组件的排放方式,就是布局。

a) FlowLayout(流式布局管理器):从左到右的顺序排列,Panel默认的布局管理器

b) BorderLayout(边界布局管理器):东南西北中,Frame默认的布局管理器

c) GridLayout(网络布局管理器):规则的矩形

d) GridBagLayout(网络包布局管理器):非规则的矩阵

e) CardLayout(卡片布局管理器):选项卡

3.  创建图形化界面:

a) 创建frame窗体

b) 对窗体进行基本设置,比如大小,位置,布局

c) 定义组件

d) 将组件通过窗体的add方法添加到窗体中

e) 让窗体显示:通过setVisibletrue

例子:

import java.awt.*;

public class AwtDemo 

{

/**

 * @param args

 */

public static void main(String[] args) 

{

Frame f = new Frame("my awt");

f.setSize(500,400);

f.setLocation(300,200);

f.setLayout(new FlowLayout());

Button b = new Button("我是一个按钮");

f.add(b);

f.setVisible(true);

}

}

4.  事件监听机制组成:

事件源:就是awt包或者swing包中的那些图形界面组件

事件(Event)每一个事件源都有自己特有的对应事件和共性事件

监听器(Listener)将可以触发某一个事件的动作都已经封装到监听器中。

以上三者在java中都已经定义好,我们要做的事情是对产生的动作进行处理

事件处理(引发事件后处理方式)

5.  建立监听器:需要建立对象去implements WindowListener,但是需覆盖7个方法,可是 我只用到关闭的动作,其他动作都没有用到,可是却必须复写,

然而因为WindowListener的子类WindowAdapter已经实现了WindowListener接口,并覆 盖了其中的所有方法,那么我们只要继承自Windowadapter覆盖我需要的方法即可。

例子:

import java.awt.*;

import java.awt.event.*;

public class AwtDemo 

{

public static void main(String[] args) 

{

Frame f = new Frame("my awt");

f.setSize(500,400);

f.setLocation(300,200);

f.addWindowListener(new MyWin());//调用监听器

f.setVisible(true);

}

}

class MyWin extends WindowAdapter//监听器继承WindowAdapter可以不复写全部方法

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

public void windowActivated(WindowEvent e)

{

System.out.println("wo huo la ");//窗体前置

}

public void windowOpened(WindowEvent e)

{

System.out.println("我被打开");//打开窗体

}

}

6.  f.setBounds(300,200,600,500)//前两个是框架的位置,后两个数是框架的长宽

7. 按钮事件

用匿名内部类but.addActionListener (new ActionListener()

{

public void actionPerformed(ActonEvent e)

{

Systen.exit(0);

}

});

键盘监听:

but.addKeyListener(new keyAdapter()

{

public void keyPressed(KeyEvent e)

{

if(e.getKeyCode()==KeyEvent.VE_ENTER)

System.exit(0);

}

});

组合键:if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VE_ENTER)

        e.consume():屏蔽非法键

8.  jar包添加信息

在文本中写信息

Main-Class: mymenu.MyMenuTest

冒号后一定要有空格,写完要回车,类型前为包名

dos编译:jar -cvfm my.jar 1.txt mymenu

9.  学习心得和体会

知道几种布局方式,掌握图形的基本创建:

创建frame窗体

对窗体进行基本设置,比如大小,位置,布局

定义组件

将组件通过窗体的add方法添加到窗体中

让窗体显示:通过setVisibletrue

 ------- <a href="http://www.itheima.com" target="blank">android培训</a><a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值