黑马程序员——Java基础--GUI(图形化界面)

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

一  GUI

       GUI:Graphical User Interface(图形用户接口)。用图形的方式,来显示计算机操作的界面,这样更方便更直观。

二  使用中的开发包

    java.awt:AbstractWindow ToolKit (抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件。

javax.swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。

三  Frame创建窗口

import java.awt.*;
public class Demo {
	public static void main(String[] args) {
		//创建窗体对象
		Frame frm = new Frame("窗体");
		//更改背景色
		frm.setBackground(new Color(202,232,207));
		//定义长和宽
		int w = Toolkit.getDefaultToolkit().getScreenSize().width;
		int h = Toolkit.getDefaultToolkit().getScreenSize().height;
		//设置位置
		frm.setBounds((w-500)/2, (h-400)/2, 500, 400);
		//设置windows可见
		frm.setVisible(true);
	}
}

四  事件监听机制

    事件机制,软件和用户交互一种机制。

    事件源:

     在软件中,用户可以使用鼠标或者键盘操作的一切内容,都属于事件源。

事件:用户如何去操作这些事件源。

监听器:类似于窃听器,随时捕获声音,传递到监听者。注册在事件源上的一种监听机制,等着用户操作这个事件源,一旦用户有动作,立刻会被监听器捕获,根据用户对事件源的操作方式,调用不同的处理方式。

处理方式:定义的方法,监听器会根据用户的操作,选择调用处理的方法。

import java.awt.*;
import java.awt.event.*;
public class ButtonEventDemo {
	public static void main(String[] args) {
		Frame frm = new Frame("实现按钮鼠标事件");
		int w = Toolkit.getDefaultToolkit().getScreenSize().width;
		int h = Toolkit.getDefaultToolkit().getScreenSize().height;
		frm.setBounds((w - 500) / 2, (h - 400) / 2, 500, 400);
		frm.setVisible(true);
		frm.setLayout(null);
		// 创建按钮对象
		Button but = new Button("确定");
		//设置按钮位置
		but.setBounds(100, 100, 160, 60);
		// 容器对象add方法,按钮添加到窗体上
		frm.add(but);
		// 按钮添加鼠标事件
		but.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				int count = e.getClickCount();
				if (count == 2)
					System.out.println("双击了");
			}
			// 重写方法,鼠标进入到组件调用,鼠标悬停效果
			public void mouseEntered(MouseEvent e) {
				System.out.println("鼠标进入组件");
			}
			// 重写方法,鼠标离开组件调用
			public void mouseExited(MouseEvent e) {
				System.out.println("鼠标离开组件");
			}
		});
	}
}


五  菜单组件概述

    先创建菜单条,再创建菜单,每一个菜单中建立菜单项。也可以菜单添加到菜单中,作为子菜单。通过setMenuBar()方法,将菜单添加到Frame中。

import java.awt.*;
import java.awt.event.*;
public class MenuDemo {
	public static void main(String[] args) {
		Frame frm = new Frame("实现菜单");
		int w = Toolkit.getDefaultToolkit().getScreenSize().width;
		int h = Toolkit.getDefaultToolkit().getScreenSize().height;
		frm.setBounds((w - 500) / 2, (h - 400) / 2, 500, 400);
		frm.setVisible(true);
		frm.setLayout(null);
		//创建菜单栏对象MenuBar
		MenuBar bar = new MenuBar();
		//窗体方法setMenuBar,添加菜单栏
		frm.setMenuBar(bar);
		//创建2个Menu对象,一个是文件,一个是编辑
		Menu file = new Menu("文件");
		Menu edit = new Menu("编辑");
		//菜单栏的方法add添加菜单
		bar.add(file);
		bar.add(edit);
		//创建文件菜单下的菜单条目MenuItem,打开保存
		MenuItem open = new MenuItem("打开");
		MenuItem save = new MenuItem("保存");
		//创建编辑菜单下的菜单条目,复制
		MenuItem copy = new MenuItem("复制");
		//调用菜单Menu方法add添加菜单条目
		file.add(open);
		file.add(save);
		edit.add(copy);
		//实现子菜单,在文件菜单下,添加子菜单新建,新建子菜单里面有多个菜单条目
		//c/c++ perl java
		//创建Menu菜单,新建
		Menu newMenu = new Menu("新建");
		file.add(newMenu);	
		MenuItem c = new MenuItem("c/c++");
		MenuItem perl = new MenuItem("perl");
		MenuItem java = new MenuItem("java");
		newMenu.add(c);
		newMenu.add(perl);
		newMenu.add(java);
		//对保存菜单添加事件监听器,活动事件
		save.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
	}
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值