------- android培训、java培训、期待与您交流! ----------
1.1 GUI概述
GUI:Graphical User Interface(图形化用户接口)---是图形的方式,来显示计算机操作系统的界面,这样更直观。
CLI:Command Line User Interface(命令行用户接口)---常见的Dos命令行操作,需要记一些常用的命令,操作不直观。
Java为GUI提供的对象都存在于java.awt和java.swing两个包中。
java.awt:Abstract Window Tookit(抽象窗口工具包),需要调用本地系统方法实现功能功能,属于重量级控件(耦合性紧密)。
java.swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现,增强了移植性,属于轻量级控件。
1.2 GUI布局介绍
常见的布局管理器:
FlowLayout(流式布局管理器panel默认):从左到右的顺序排列、BorderLayout(边界布局管理器Frame默认):东南西北中、
GridLayout(网格布局管理器):规则的矩形、GridBagLayout(网格包布局管理器):非规则管理器
CardLayout(卡片布局管理器):选项卡
1.3 事件监听机制
事件监听机制组成:——————组件就是一个对象
事件源(组件)、事件(Event)、监听器(Listener)、事件处理(引发事件后的处理方式)
点击按钮:打印一句话
思路:
确定事件源:按钮
确定监听器:按钮添加监听器,按钮对象最清楚____到按钮对象中去查找(API)
事 件 处 理:定义事件处理方式
定义的规范:XXXListener:XXX监听器 ——————对应的XXXEvent事件
1、在按钮上添加所需的监听器
but.addActionListener(new ActionListener{ —————监听器 public void actionPerformed(ActionEvent e) { —————监听的事件 System.out.println("窗体的按钮事件"); —————事件处理方式 });
实例化菜单中的打开和保存操作:
import java.awt.*; import java.awt.event.*; import java.io.*; class MyMenuTest { private Frame f; //引用窗体变量 private MenuBar bar; //引用菜单条变量 private TextArea ta; private Menu fileMenu; //引用菜单变量 private MenuItem closeItem,openItem,saveItem; //引用菜单项 private FileDialog openDia,saveDia; //引用打开和保存对话框 private File file; //引用文件变量 MyMenuTest() //构造函数初始化 { init(); } public void init() { f=new Frame("my window"); //初始化窗口 f.setBounds(300,100,500,600); //设置窗口的位置和宽高 // f.setLayout(new FlowLayout()); //设置窗体的布局方式为流式布局 bar=new MenuBar(); //初始化菜单栏 ta=new TextArea(); fileMenu=new Menu("文件"); //初始化菜单 closeItem=new MenuItem("退出"); //初始化菜单项目 openItem=new MenuItem("打开"); saveItem=new MenuItem("保存"); bar.add(fileMenu); //将菜单添加到菜单栏中 fileMenu.add(openItem); fileMenu.add(saveItem); fileMenu.add(closeItem); //将关闭按钮添加到菜单中 f.setMenuBar(bar); //将菜单栏设置到窗体中 openDia=new FileDialog(f,"打开了",FileDialog.LOAD); //初始化 saveDia=new FileDialog(f,"开始保存",FileDialog.SAVE); myEvent(); f.add(ta); f.setVisible(true); } private void myEvent() { saveItem.addActionListener(new ActionListener() //保存事件处理 { public void actionPerformed(ActionEvent e) { if(file==null) //判断文件是否存在,如果不存在,则创建一个 { saveDia.setVisible(true); //显示保存对话框 String dirPath=saveDia.getDirectory(); //获取目录地址 String fileName=saveDia.getFile(); //获取文件名 if(dirPath==null || fileName==null) return; file=new File(dirPath,fileName); //封装成对象 } try { BufferedWriter bufw=new BufferedWriter(new FileWriter(file)); //创建文件写入流缓冲区,将文件传入流中 String text=ta.getText(); //获取文本区内容 bufw.write(text); //将文本框内容写出去 bufw.close(); //关闭流 } catch(IOException ioe) { throw new RuntimeException("写入失败"); } } }); openItem.addActionListener(new ActionListener() //创建打开事件监听机制 { public void actionPerformed(ActionEvent e) { openDia.setVisible(true); //显示对话框 String dirPath=openDia.getDirectory(); //获取文件路径 String fileName=openDia.getFile(); //获取文件名 System.out.println(dirPath+"--"+fileName); if(dirPath==null || fileName==null) //判断是否为空 return; ta.setText(""); //打开新文件之前,清空之前的内容 file=new File(dirPath,fileName); //将文件路径和文件名封装成对象 try { BufferedReader bufr=new BufferedReader(new FileReader(file)); //创建读取流缓冲区,将file文件传入 String line=null; while((line=bufr.readLine())!=null) //开始读取数据 { ta.append(line+"\r\n"); //添加到文本区中 } bufr.close(); } catch(IOException ioe) { throw new RuntimeException("读取失败"); } } }); closeItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); f.addWindowListener(new WindowAdapter() //添加窗体关闭方法,复写关闭方法 { public void windowClosing(WindowEvent e) { System.exit(0); //退出窗体 } }); } public static void main(String[] args) { new MyMenuTest(); } }
相关推荐
黑马程序员_毕向东_Java基础视频教程第22天-06-GUI(Action事件).zip
lp__matlab 学习笔记之GUI计算器制作
C++ Builder 5高级编程技术——GUI编程
JAVA编程规范——GUI.pdf
java课程设计大作业——GUI编程,基于Java实现的俄罗斯方块小游戏java课程设计大作业——GUI编程,基于Java实现的俄罗斯方块小游戏java课程设计大作业——GUI编程,基于Java实现的俄罗斯方块小游戏java课程设计大...
行时所需要的基本条件和许多 Java 基础类,例如,IO 类、GUI 控件类、网络类等。JRE 是提供给 普通用户使用的,如果你只想运行别人开发好的 Java 程序,那么,你的计算机上必须且只需安装 JRE。 JDK(Java ...
这是一个java写的拼图游戏,用了swing、多线程等知识,可以设置行数列、列数、还有使用多线程写的游戏动画,拼图的图块具有磁贴设计,代码封装性较强,容易移植,纯原创。
2019最新Python——GUI_tkinter学习资料整理,可直接当作手册使用参考,网络资料文档整理
Delphi 5高级编程丛书之二Delphi 5高级编程——GUI编程
Design of MATLAB of GUI program
VS2010编写的哈夫曼压缩工具,带图形界面,学习数据结构及算法的同学不要错过哦。
提供UCGUI的全部源代码,使用户通过修改代码实现移植
这是matlab的GUI的开发时常见错误集合,很不错,里面给很可能就有你需要的知识。
关于matlab的GUI设计,EXE文件,比较简单,适合初学者
嵌入式显示emwin
大家已经学习了快两个学期Java编程,目前的学习需要大家多练习才能够跨过入门这个坎。 1 JDK API 1.6中文版 下载(http://pan.baidu
2022年虎年,制作拜年软件,使用python技术的GUI,能够和收到祝福的朋友互动功能,设计软件后的美工调整
JDBC--MySOL MySql数据库的JDBC实现增删改查————GUI实现
MATLABGUI设计总结-matlab gui 设计总结.doc 最近做毕业设计用到GUI,搜集到了很多资料,现在传上来,和大家一起分亨。 一.10个小问题 二.MATLAB GUI编程中几个有用的程序段 1、 启动 2、 在GUI中使用Axes控件...