黑马程序员__java基础__GUI
来源:互联网 发布:淘宝购物返利最高的 编辑:程序博客网 时间:2024/05/22 03:47
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
GUI
一.GUI的概述
(1)即图形用户界面,用于计算机与用户交互的一种方式。
(2)计算机与用户交互的两种方式:
1.GUI:图形用户接口,用图形方式,来显示计算机操作界面,方便直观。
2. CLI:命令行用户接口,即常见的Dos命令行操作,须记住一些命令,操作不直观。
(3)java将GUI封装为对象,其中的对象都放在了两个包中:java.Awt包和javax.Swing包。
1. java.Awt包:抽象窗口工具包,调用本地系统方法实现功能,属重量级控件。
2.javax.Swing包:在AWT的基础上建立的一套图形界面系统,其中提供了更多的组件,且完全由java实现。
二.布局
(1)常见的布局:
1.FlowLayout:流式布局管理器。从左向右排列,是Panel默认的布局管理器。
2.BorderLayout:边界式布局管理器,东南西北中的排列方式,是Frame的默认布局管理器。
3.GridLayout:网格式布局管理器,规则的矩阵。
4.CardLayout:卡片式布局管理器,即选项卡。
5.GridBayLayout:网格包布局管理器,非规则矩阵。
(2)创建窗体界面的步骤:
1.将窗体Frame进行大区域的划分,设置其布局管理器,加入面板Panel。
2.将组件加入Panel,设置面板的布局管理器。
三.Frame窗体
(1)创建图形化界面:
1.创建Frame窗体。
2.对窗体进行基本设置:如大小,位置,布局等。
3.定义组件。
4.将组件通过窗体的add方法添加到窗体中。
5.让窗体显示,通过setVisible(turn)的方法。
(2)示例:
/** * 创建图形化界面 */import java.awt.*;public class AwtDemo {public static void main(String[] args) {Frame f=new Frame("窗体");//创建Frame窗体,括号可设置文字f.setSize(600, 400);//设置大小f.setLocation(300, 300);//设置窗体的位置f.setLayout(new FlowLayout());//设置布局Button b=new Button("按钮");//定义按钮组件f.add(b);//将按钮组件添加到Frame窗体中f.setVisible(true);//设置窗体显示}}四.事件监听机制
(1)事件监听机制的特点:
1.事件源:awt或swing包中的那些图形界面组件。
2.事件:每一个事件源都有自己特有的对应事件和共性事件。
3.监听器:将可触发某一事件的动作(不只一个动作),都封装到侦听器中。
4.事件处理:引发事件后的处理方式。
(2)窗体、按钮添加监听器的例子
/** * 创建图形化界面,实现窗体,按钮都可以退出功能 */import java.awt.*;import java.awt.event.*; class FrameDemo { public static void init(){//创建窗体、按钮Frame f=new Frame("窗体");f.setBounds(300, 300, 600, 400);f.setLayout(new FlowLayout());Button b=new Button("退出按钮");f.add(b);f.setVisible(true);//添加窗体监听器,让窗体具备退出功能f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}} );//添加按钮监听器,让按钮具备退出功能b.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});}public static void main(String[] args) {init();}}(3)在窗体中列出指定目录内容、错误时弹出对话框的列子
import java.awt.*;import java.awt.event.*;import java.io.*;public class MyWindowDemo{private Frame f;private Button b,okb;private TextField tf;private TextArea ta;private Dialog d;private Label l;MyWindowDemo(){init();}public void init(){//设置窗体f=new Frame("窗体");f.setBounds(300, 300, 600, 400);f.setLayout(new FlowLayout());//窗体里的按钮b=new Button("转到");//窗体里的文本框tf=new TextField(50);//窗体里的文本区域ta=new TextArea(20,60);f.add(tf);f.add(b);f.add(ta);//设置对话框d=new Dialog(f,"提示信息",true);//对话框里的文本框l=new Label();//对话框里的按钮okb=new Button("确定");d.setBounds(250, 350, 200, 200);d.setLayout(new FlowLayout());d.add(l);d.add(okb);MyEvent();f.setVisible(true);}public void MyEvent(){//窗体按钮的监听事件b.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent e){String dirPath=tf.getText();//窗体文本框输入信息File dir=new File(dirPath);if(dir.isDirectory() && dir.exists())//目录存在且为目录形式{ta.setText("");String[] names=dir.list();for(String name:names)//遍历目录列表{ta.append(name+"\r\n");//窗体文本区域显示目录列表信息}}else{String info="你输入的信息:"+dirPath+"是错误的";l.setText(info);//对话框文本框中显示错误提示d.setVisible(true);}}});//对话框中按钮的鼠标监听器okb.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent e){d.setVisible(false);//对话框消失}});//对话框关闭监听器d.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){d.setVisible(false);}});//窗体关闭监听器f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public static void main(String[] args){new MyWindowDemo();}}
0 0
- 黑马程序员__java基础__GUI
- 黑马程序员__JAVA基础__GUI(图形用户界面)
- 黑马程序员Java基础__GUI
- 黑马程序员__Java基础语法
- 黑马程序员__GUI图行化界面
- 黑马程序员__java基础笔记1
- 黑马程序员__java基础视频day1、day2
- 黑马程序员__java基础视频day3、day4
- 黑马程序员__java基础视频day5
- 黑马程序员__java基础视频day7
- 黑马程序员__java基础视频day8
- 黑马程序员__java基础加强总结
- 黑马程序员__Java基础__多线程
- 黑马程序员__JAVA基础__语句
- 黑马程序员__JAVA基础__函数
- 黑马程序员__JAVA基础__数组
- 黑马程序员__JAVA基础__多线程
- 黑马程序员__JAVA基础__String类
- Sublime Text3 安装Emmet
- 仿iOS图标抖动、iOS删除App效果
- “好程序员笔记”反射与内省
- 职业之路
- Hibernate实体3种状态Transient/Persistent/Detached
- 黑马程序员__java基础__GUI
- 让软件好好活着之一 -- 设计第一
- Hibernate错误总结
- Linux系统编程——Linux系统调用
- LeetCode——Remove Duplicates from Sorted Array
- 多进程与多线程
- iOS开发之UIWebView
- maven环境搭建、Eclipse安装
- 物流运交管理系统 出车确认