您的位置:首页 > 产品设计 > UI/UE

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

2015-08-13 21:16 555 查看
-------
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);
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: