黑马程序员_图形化界面

来源:互联网 发布:千牛mac beta 编辑:程序博客网 时间:2024/06/01 08:37
------- android培训、java培训、期待与您交流! ----------

 

1、GUI概述

(1)GUI:Graphical User Interface(图形用户接口)

          优点:用图形的方式,来显示计算机的操作界面,这样更方便更直观。

(2)CLI:Command Line User Interface(命令行用户接口)

           需要记住一些常用的命令,操作不直观。

(3)Java为GUI提供的对象都存在于java.awt和java.swing包中。

          Awt(Abstract Window ToolKit)抽象窗口工具集,第一代GUI组件,是重量级的。(需要调用本地系统的方法来实现自身功能)

         Swing:在Awt的基础上,建立了一套图形界面系统,是轻量级的。(不依赖本地系统)

2、布局:容器中的组件的排放方式就是是布局。常见的布局管理器有五种

(1)FlowLayout(流式布局管理器):从左到右的顺序排列(Panel默认的布局管理器)

(2)BorderLayout(边界布局管理器):东,西,南,北,中(Frame默认的布局管理器)

(3)GridLayout(网格布局管理器):规则的矩形

(4)GridBagLayout(网格包布局管理器):不规则的矩形(包括有多个网格)

(5)CardLayout(卡片布局管理器):选项卡。

3、创建图形化界面的步骤:

(1)创建Frame窗体

(2)对窗体进行基本设置(大小,位置,布局等)

(3)定义组件

(4)将组建添加到窗体中

(5)让窗体显示。(setVisible(true))

例子:

import java.awt.*;class AwtDemo{public static void main(String[] args){Frame f=new Frame("chy");//创建名字为chy的窗体f.setBounds(300,200,500,400);//设置窗体的位置大小f.setLayout(new FlowLayout());//将窗体的布局设置为流式布局Button b=new Button("按钮");//创建名字为按钮的组件f.add(b);//将组件添加到窗体中f.setVisible(true);//让窗体显示}}

4、事件监听机制

(1)成员:事件源,事件,监听器,事件处理

(2)事件源:就是awt或者swing中的图形界面组件

事件:每一个事件源都有自己特有的对应事件和共性事件

监听器:将可以触发某一事件的动作都已经封装在了监听器中了。

注意:在java中事件,事件源和监听器都已经定义好了,可以直接获取他们的对象来用,我们需要做的事就是对事件进行处理动作。

(3)成员关系图

例子:让已生成的窗体具有关闭的动作

/*在窗体中添加一个窗体监听器WindowAdapter已经覆盖了WindowListener中的所有方法所以只用再复写WindowAdapter的一个方法即可*/f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});

注意:事件在awt中存在于awt的子包中,所以还必须再导个事件包(java.awt.event.*;)

5、几个常见的事件(作用于按钮上的(Button b=new Button()))

(1)活动监听事件 (活动监听没有适配器)

b.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}})

(2)鼠标监听事件

b.addMouthListener(new MouseAdapter(){public void mouthEntered(MouseEvent e){System.exit(0);}});

(3)键盘监听事件

b.addKeyListener(new KeyAdapter(){public void KeyPassed(KeyEvent e){//使用组合键if(e.isControlDown&&e.getKeyCode==KeyEvent.VK_ENTER)System.exit(0);}});

6、对话框(Dialog)

对话框是用于错误时,让当前窗口停止运行的一种方式.

对话框中的文本文字(用标签Lable来实现)

其实对话框就相当于一个小窗口(只有在错误时才会出现).

具体实现步骤:

对话框的外形

private Dialog d;private Label l;private Button Okb;d=new Dialog(f,"错误提示",true);//f代表的的是这对话框加入f的窗体//"错误提示"是对话框的名字//true是在对话框出现时,让f窗体变为后置窗体.d.setBounds(450,330,100,70);d.setLayout(new FlowLayout());        Okb=new Button("ok");l=new Label();d.add(l);d.add(Okb);

对话框的事件

Okb.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){d.setVisible(false);}});d.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){d.setVisible(false);}});

7.菜单栏

 菜单里面包括菜单栏(MenuBar)、菜单(Menu)、菜单项(MenuItem)。它们之间的关系是菜单栏中可以添加菜单,菜单中可以添加子菜单和菜单项。

文件菜单里的打开文件的功能实现

openmi.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){openDie.setVisible(true);//弹出文件对话框String name=openDie.getFile();//获取文件名字String dir=openDie.getDirectory();//获取文件路径//判断文件及路径是否存在,不存在则返回if(name==null||dir==null)return;ta.setText("");//清空文本区域file=new File(dir,name);//将文件及路径封装成文件/*读取文件,并添加到文本框中*/try{br=new BufferedReader(new FileReader(file));String line=null;while((line=br.readLine())!=null){ta.append(line+"\r\n");}}catch(IOException ex){throw new RuntimeException("duqushiba");}finally{if(br!=null){try{br.close();}catch(Exception ex){}}}}});}

------- android培训、java培训、期待与您交流! ----------

0 0