Java图形化界面GUI-01-----黑马程序员
2013-09-02 21:49
281 查看
ASP.Net+Android+IOS开发------期待与您交流
<图形化界面>
<图形化界面的使用方法,概念>
1. 容器
* 窗口,面板,选项卡,可以存放其他容器或者组件
* Frame窗口
* Dialog FileDialog
2. 组件
* 按钮,文本框,对话框,菜单,不能单独使用,必须放在容器中
* Button按钮
* TextArea多行文本
* TextField文本字段,单行文本
* 必须要添加到容器中
3. awt和swing
* awt 调用了操作系统中的方法,完成图形界面,依赖系统,重量级
* swing 纯java编写的图形界面,不依赖操作系统 轻量级
4. Frame类,构建窗体的类
* 构造方法,传递字符串,窗口的标题栏
* setSize(width,height)宽,高,单位是像素
* setVisible(true)窗口显示了
* setLocation
* Toolkit.getDefaultToolkit().getScreenSize().width;获取屏幕的分辩率
* setLayout(null)取消布局管理器,实现组件的任意位置的放置 (组件要定义尺寸和位置)
* setBounds(横轴,纵轴,宽度,高度)
* setMenuBar()设置菜单栏
5. Button类,按钮构建
* 构造方法,传递字符串
6. 窗体的布局管理器
7. 事件的监听机制
* 事件源,就是用户操作的那个组件
* 事件,鼠标事件,键盘事件,窗体事件
* 监听器,监听,等待这个事件的发生
* 按钮事件源,为按钮添加了一个事件监听器,监听鼠标的单击事件,交给事件处理方式
* 事件处理
* 就是个方法
点击红色的叉子,关闭程序
* 事件源,窗体
* 窗体事件
* 监听什么?窗体事件操作,点击红叉子
* 交给一个方法来处理
8. 适配器设计模式
* 是将接口适配成用户想要的效果
* 抽象类实现接口中的方法,并且这个抽象类中全部是普通方法
* 子类继承抽象方法,覆盖你想要的方法
9.TextField组件
* 构造方法
10. 键盘事件
* KeyEvent e
* getKeyCode() ASCII
* getKeyChar() 字符
* consume()
* 实现Ctrl+Enter键
* isControlDown()判断是否按下Ctrl键
11. 鼠标事件
* mouseClicked(MouseEvent e)鼠标点击事件
* mouseEntered(MouseEvent e)鼠标进入组件
* mouseExited(MouseEvent e)鼠标离开组件
* int getClickCount()返回在组件上,鼠标点击了多少次
12. Dialog对话框容器
* 构造方法(所属窗体,标题,模式)
* Label显示文字
13. awt的实例
* 用户输入一个路径,展示这个路径中的有文件和文件夹
* 使用的技术 IO awt
* awt中需要的容器和组件
* Frame
* 文本框组件
* Label组件
* 按钮组件
* 对话框
* IO中需要哪些类
* File
GUI练习
* 实现步骤:
A-- 先做界面
B-- 事件的响应
B1* 窗口的关闭
B2* 点击按钮
* 获取这个文本框中写的是什么
* 获取到输入后,判断空
* 封装成File对象,判断输入的目录有没有,判断是不是目录
* 获取文件列表 、listFiles()
B3* 输入后直接按下回车键
下面是对GUI的整体性应用代码实现如下:
ASP.Net+Android+IOS开发------期待与您交流
详细请查看:http://edu.csdn.net
<图形化界面>
<图形化界面的使用方法,概念>
1. 容器
* 窗口,面板,选项卡,可以存放其他容器或者组件
* Frame窗口
* Dialog FileDialog
2. 组件
* 按钮,文本框,对话框,菜单,不能单独使用,必须放在容器中
* Button按钮
* TextArea多行文本
* TextField文本字段,单行文本
* 必须要添加到容器中
3. awt和swing
* awt 调用了操作系统中的方法,完成图形界面,依赖系统,重量级
* swing 纯java编写的图形界面,不依赖操作系统 轻量级
4. Frame类,构建窗体的类
* 构造方法,传递字符串,窗口的标题栏
* setSize(width,height)宽,高,单位是像素
* setVisible(true)窗口显示了
* setLocation
* Toolkit.getDefaultToolkit().getScreenSize().width;获取屏幕的分辩率
* setLayout(null)取消布局管理器,实现组件的任意位置的放置 (组件要定义尺寸和位置)
* setBounds(横轴,纵轴,宽度,高度)
* setMenuBar()设置菜单栏
5. Button类,按钮构建
* 构造方法,传递字符串
6. 窗体的布局管理器
7. 事件的监听机制
* 事件源,就是用户操作的那个组件
* 事件,鼠标事件,键盘事件,窗体事件
* 监听器,监听,等待这个事件的发生
* 按钮事件源,为按钮添加了一个事件监听器,监听鼠标的单击事件,交给事件处理方式
* 事件处理
* 就是个方法
点击红色的叉子,关闭程序
* 事件源,窗体
* 窗体事件
* 监听什么?窗体事件操作,点击红叉子
* 交给一个方法来处理
8. 适配器设计模式
* 是将接口适配成用户想要的效果
* 抽象类实现接口中的方法,并且这个抽象类中全部是普通方法
* 子类继承抽象方法,覆盖你想要的方法
9.TextField组件
* 构造方法
10. 键盘事件
* KeyEvent e
* getKeyCode() ASCII
* getKeyChar() 字符
* consume()
* 实现Ctrl+Enter键
* isControlDown()判断是否按下Ctrl键
11. 鼠标事件
* mouseClicked(MouseEvent e)鼠标点击事件
* mouseEntered(MouseEvent e)鼠标进入组件
* mouseExited(MouseEvent e)鼠标离开组件
* int getClickCount()返回在组件上,鼠标点击了多少次
12. Dialog对话框容器
* 构造方法(所属窗体,标题,模式)
* Label显示文字
13. awt的实例
* 用户输入一个路径,展示这个路径中的有文件和文件夹
* 使用的技术 IO awt
* awt中需要的容器和组件
* Frame
* 文本框组件
* Label组件
* 按钮组件
* 对话框
* IO中需要哪些类
* File
GUI练习
* 实现步骤:
A-- 先做界面
B-- 事件的响应
B1* 窗口的关闭
B2* 点击按钮
* 获取这个文本框中写的是什么
* 获取到输入后,判断空
* 封装成File对象,判断输入的目录有没有,判断是不是目录
* 获取文件列表 、listFiles()
B3* 输入后直接按下回车键
下面是对GUI的整体性应用代码实现如下:
package cn.filelist; import java.awt.*; import java.awt.event.*; import java.io.*; import java.lang.reflect.Field; import java.security.PublicKey; public class GuiDemo { //定义窗体组件 private Frame frm= null; //功能的使用说明 private Label fla = null; //输入文本框组件 private TextField tf = null; //确定按钮 private Button okbut = null; //多行的文本,显示文件列表的 private TextArea ta=null; //对话框容器 private Dialog dg =null; //对话框上的文字提示组件 private Label dla = null; //对话框上的确定按钮 private Button dbut = null; //屏幕的宽度和高度 private static final int WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width; private static final int HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height; public GuiDemo(){ init(); } private void init(){ //对窗体进行设置 frm = new Frame("文件列表功能"); frm.setBounds((WIDTH-550)/2, (HEIGHT-650)/2, 550, 650); frm.setBackground(new Color(204,232,207)); frm.setLayout(null); frm.setVisible(true); //对窗体组件进行设置。 //功能的使用说明 fla = new Label("请输入路径,之后会显示路径下的全部文件名列表"); fla.setBounds(40,30,500,30); frm.add(fla); //对输入的单行文本框进行设置 tf = new TextField(); tf.setBounds(40, 70, 420, 20); frm.add(tf); //对确定按钮进行设置 okbut = new Button("确定"); okbut.setBounds(490, 70, 40, 20); frm.add(okbut); //对多行文本进行设置 ta = new TextArea(); ta.setBounds(40, 105, 425, 480); ta.setEditable(false); frm.add(ta); //对话框的设置 // 构造一个最初不可见的 Dialog, // 它带有指定的所有者 Frame、标题和模式。 dg = new Dialog(frm,"错误的提示信息",true); dg.setBounds((WIDTH-600)/2, (HEIGHT-100)/2, 600, 100); dbut =new Button("确定"); dg.setLayout(null); myEvent(); } //定义专门的方法专门处理各种事件 private void myEvent(){ frm.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } }); //点击确定按钮的事件 okbut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { getListFile(); } }); //对话框中关闭 dg.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){closeDialog();} }); //按钮的关闭 dbut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {closeDialog();} }); //输入文本框的键盘事件,按下回车键 tf.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e){ int code = e.getKeyCode(); if(code == KeyEvent.VK_ENTER){ getListFile(); } } }); } private void closeDialog(){ dg.setVisible(false); } private void getListFile(){ //判断在文本框中输入的内容,按下确定之后如果正确则直接输出文件列表 //获取文本框中输入的内容 String path = tf.getText(); //判空,健壮性判断 if("".equals(path)) return; //去掉空格方法 path = path.trim(); //创建文件类对象并传入字符串路径 File f = new File(path); //判断是不是文件 if(!f.exists()){ //对话框出现的时机 //Label 对象是一个可在容器中放置文本的组件。 //一个标签只显示一行只读文本。 //文本可由应用程序更改,但是用户不能直接对其进行编辑 dla = new Label("蠢货你输入的路径 "+ path + "不存在!请重新输入"); dla.setBackground(Color.cyan); dla.setBounds(150, 50, 400, 20); dg.add(dla); dbut.setBounds(270, 75, 50, 20); dg.add(dbut); dg.setVisible(true); }else if(!f.isAbsolute()){ //否则是文件,则获取文件名列表 dla = new Label("二货你输入的"+path +"是文件请重新输入"); dla.setBounds(150, 50, 400, 20); dg.add(dla); dbut.setBounds(200, 75, 50, 20); dg.add(dbut); dg.setVisible(true); }else { //否则就是正确的路径了 ta.setText(""); File [] file = f.listFiles(); for(File ff:file){ // ta.setText(ff+""); ta.append(ff+"\t\n"); } } } }
ASP.Net+Android+IOS开发------期待与您交流
详细请查看:http://edu.csdn.net
相关文章推荐
- 黑马程序员—Java图形化界面 GUI
- 黑马程序员:Java基础总结----GUI图形化界面
- Java图形化界面GUI-02-----黑马程序员
- 黑马程序员_java GUI(图形化界面)概述
- 黑马程序员--Java基础学习(GUI图形化界面)第二十二天
- 黑马程序员—java基础_GUI图形化界面
- 黑马程序员_07Java图形化界面GUI知识总结
- 黑马程序员_JAVA学习日记_JAVA中图形化界面GUI编程
- 黑马程序员----java基础图形化界面GUI
- 黑马程序员—JAVA基础—GUI(图形化界面编程)
- 黑马程序员——Java基础--GUI(图形化界面)
- 黑马程序员java学习笔记——GUI图形化界面
- 黑马程序员——Java基础--GUI图形化界面
- 黑马程序员:Java基础总结----GUI图形化界面
- 黑马程序员——Java基础——GUI图形界面编程
- 黑马程序员-Java-图形化界面-day22
- 黑马程序员——Java基础——GUI图形化用户界面
- 黑马程序员 Java练习-自定义图形化界面模拟浏览器访问Tomcat服务器
- 黑马程序员_Java(GUI(图形界面编程))
- (十三)Core Java GUI(图形化界面小程序开发,事件监听机制流程,以及可运行jar包的配置实现,) (109)