黑马程序员_javaGUI编程
来源:互联网 发布:mysql 模糊查询 编辑:程序博客网 时间:2024/05/18 03:26
------- android培训、java培训、期待与您交流! ----------
GUI
概念:
Graphical User Interface(图形用户接口)。用图形的方式,来显示计算机操作的界面,这样更方便更直观。
CLI:Command line User Interface (命令行用户接口)就是常见的Dos命令行操作。需要记忆一些常用的命令,操作不直观。
awt和swing包的概述
java.awt:Abstract Window ToolKit (抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件。
javax.swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。
Frame窗体的创建
Frame是awt包子类,带有边框和标题的顶层窗口。Frame构造方法带有String类型参数可以设置窗体标题。
setVisible(true) 显示窗体
setSize(int width,int heigth) 设置大小,像素
setLocation(int x,int y)设置位置,像素
setBounds(int x,int y,int width,int heigth)设置大小和位置
setBackground(Color c)设置窗体颜色
代码如下:
import java.awt.*;public class FrameDemo {public static void main(String[] args) {Frame frm = new Frame("这是我的第一个窗体"); frm.setSize(500, 450); frm.setLocation(200, 100);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);frm.setVisible(true);}}
事件监听机制
事件监听机制是软件和用户交互的一种机制,用户可以通过鼠标和键盘操作软件。
事件源
在软件中,用户可以使用鼠标或者键盘操作的一切内容,都属于事件源,比如按钮,文本框,窗体等等。
事件
事件指的是用户操作事件源,例如鼠标事件,键盘事件和窗体事件。
监听器
注册在事件源上的一种监听机制,等着用户操作这个事件源,一旦用户有动作,立刻会被监听器捕获,根据用户对事件源的操作方式,调用不同的处理方式。
处理方式
定义的方法,监听器会根据用户的操作,选择调用处理的方法。
案例:窗体事件监听器
我们如果要对窗口时间进行监听就需要实现WindowListener接口,定义实现类重写它的全部抽象方法,而如果我们只用了接口中的一个方法,代码的利用率就很低,因此我们需要定义一个适配器类,重写接口全部方法,而我们只需要定义子类继承适配器类,这样我们用到某个方法就直接重写它就可以了,提高了代码的利用率。代码如下:
import java.awt.*;import java.awt.event.*;public class FrameDemo {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);frm.setVisible(true);// 添加窗体事件监听器frm.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}}
除了窗口事件监听器,还有鼠标事件监听器、键盘事件监听器等,用法大致相同。
进阶练习:
实现菜单,创建一个菜单,其中具有菜单栏,菜单和菜单条目。
代码如下:
import java.awt.*;import java.awt.event.*;public class MenuDemo {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);frm.setVisible(true);frm.setLayout(null);//创建菜单栏对象MenuBarMenuBar 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);}});}}
- 黑马程序员_javaGUI编程
- 黑马程序员_JavaGUI总结
- 黑马程序员_JavaGUI
- 黑马程序员_javaGUI
- 黑马程序员_javaGUI
- 黑马程序员_javaGUI初学体会
- 黑马程序员_javaGUI综合部件布局与事件处理
- 【黑马程序员】网络编程
- 黑马程序员 网络编程
- 黑马程序员:网络编程
- 黑马程序员-------网络编程
- 黑马程序员-网络编程
- 黑马程序员:网络编程
- 黑马程序员--网络编程
- 黑马程序员--网络编程
- 黑马程序员-网络编程
- 黑马程序员-------网络编程
- 黑马程序员-网络编程
- suse linux enterprise 11 的VNC远程图形界面配置
- 邻接矩阵有向图 之 Java详解
- 【错误】netstart mysql服务正在启动或停止中,请稍候片刻后再试一次
- 使用maven 构建spring mvc项目
- Topcoder SRM661 ColorfulLineGraphs,数学组合问题+快速幂求解
- 黑马程序员_javaGUI编程
- tomcat 字符编码解决方案
- LeetCode Implement Stack using Queues
- hdu5386
- 利用两个栈实现队列的入队出队
- 借助江苏电信欢go进行流量推广活动合作的工作规范(一)
- 处理区间问题之树状数组与莫队算法
- 关于Android中的四大组件(AIDL Service的使用)
- hdu 1864 dp 01背包