黑马程序员_图形化界面

------- android培训java培训、期待与您交流! ----------

 

1、GUI概述

(1)GUI:Graphical User Interface(图形用户接口)

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

(2)CLI:Command Line User Interface(命令行用户接口)

           需要记住一些常用的命令,操作不直观。

(3)Java为GUI提供的对象都存在于java.awt和java.swing包中。

          Awt(Abstract Window ToolKit)抽象窗口工具集,第一代GUI组件,是重量级的。(需要调用本地系统的方法来实现自身功能)

         Swing:在Awt的基础上,建立了一套图形界面系统,是轻量级的。(不依赖本地系统)

2、布局:容器中的组件的排放方式就是是布局。常见的布局管理器有五种

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

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

(3)GridLayout(网格布局管理器):规则的矩形

(4)GridBagLayout(网格包布局管理器):不规则的矩形(包括有多个网格)

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

3、创建图形化界面的步骤:

(1)创建Frame窗体

(2)对窗体进行基本设置(大小,位置,布局等)

(3)定义组件

(4)将组建添加到窗体中

(5)让窗体显示。(setVisible(true))

例子:

import java.awt.*;
class AwtDemo
{
	public static void main(String[] args)
	{
		Frame f=new Frame("chy");//创建名字为chy的窗体
		f.setBounds(300,200,500,400);//设置窗体的位置大小
		f.setLayout(new FlowLayout());//将窗体的布局设置为流式布局
		Button b=new Button("按钮");//创建名字为按钮的组件
		f.add(b);//将组件添加到窗体中
		f.setVisible(true);//让窗体显示
	}
}

4、事件监听机制

(1)成员:事件源,事件,监听器,事件处理

(2)事件源:就是awt或者swing中的图形界面组件

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

监听器:将可以触发某一事件的动作都已经封装在了监听器中了。

注意:在java中事件,事件源和监听器都已经定义好了,可以直接获取他们的对象来用,我们需要做的事就是对事件进行处理动作。

(3)成员关系图

例子:让已生成的窗体具有关闭的动作

		/*在窗体中添加一个窗体监听器
		WindowAdapter已经覆盖了WindowListener中的所有方法
		所以只用再复写WindowAdapter的一个方法即可
		*/
		f.addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
		});

注意:事件在awt中存在于awt的子包中,所以还必须再导个事件包(java.awt.event.*;)

5、几个常见的事件(作用于按钮上的(Button b=new Button()))

(1)活动监听事件 (活动监听没有适配器)

		b.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				System.exit(0);
			}
		})

(2)鼠标监听事件

		b.addMouthListener(new MouseAdapter()
		{
			public void mouthEntered(MouseEvent e)
			{
				System.exit(0);
			}
		});

(3)键盘监听事件

		b.addKeyListener(new KeyAdapter()
		{
			public void KeyPassed(KeyEvent e)
			{
				//使用组合键
				if(e.isControlDown&&e.getKeyCode==KeyEvent.VK_ENTER)
					System.exit(0);
			}
		});

6、对话框(Dialog)

对话框是用于错误时,让当前窗口停止运行的一种方式.

对话框中的文本文字(用标签Lable来实现)

其实对话框就相当于一个小窗口(只有在错误时才会出现).

具体实现步骤:

对话框的外形

	private Dialog d;
	private Label l;
	private Button Okb;
	d=new Dialog(f,"错误提示",true);//f代表的的是这对话框加入f的窗体
					//"错误提示"是对话框的名字
					//true是在对话框出现时,让f窗体变为后置窗体.
	d.setBounds(450,330,100,70);
	d.setLayout(new FlowLayout());
        Okb=new Button("ok");
	l=new Label();
	d.add(l);
	d.add(Okb);

对话框的事件

		Okb.addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				d.setVisible(false);
			}
		});
		d.addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				d.setVisible(false);
			}
		});

7.菜单栏

 菜单里面包括菜单栏(MenuBar)、菜单(Menu)、菜单项(MenuItem)。它们之间的关系是菜单栏中可以添加菜单,菜单中可以添加子菜单和菜单项。

文件菜单里的打开文件的功能实现

		openmi.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				openDie.setVisible(true);//弹出文件对话框
				String name=openDie.getFile();//获取文件名字
				String dir=openDie.getDirectory();//获取文件路径
				//判断文件及路径是否存在,不存在则返回
				if(name==null||dir==null)
					return;
				ta.setText("");//清空文本区域
				file=new File(dir,name);//将文件及路径封装成文件
				/*读取文件,并添加到文本框中*/
				try
				{
					
					br=new BufferedReader(new FileReader(file));
					String line=null;
					while((line=br.readLine())!=null)
					{
						ta.append(line+"\r\n");
					}
				}
				catch(IOException ex)
				{
					throw new RuntimeException("duqushiba");
				}
				finally
				{
					if(br!=null)
					{
						try
						{
							br.close();			
						}
						catch(Exception ex){}		
					}
				}				
			}
		});
		
	}

------- android培训java培训、期待与您交流! ----------

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值