黑马程序员__java基础__GUI

来源:互联网 发布:淘宝购物返利最高的 编辑:程序博客网 时间:2024/05/22 03:47
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
GUI
一.GUI的概述
(1)即图形用户界面,用于计算机与用户交互的一种方式。
(2)计算机与用户交互的两种方式:
           1.GUI图形用户接口,用图形方式,来显示计算机操作界面,方便直观。
           2. CLI命令行用户接口,即常见的Dos命令行操作,须记住一些命令,操作不直观。
(3)javaGUI封装为对象,其中的对象都放在了两个中: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.事件源:awtswing包中那些图形界面组件。
           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
原创粉丝点击