您的位置:首页 > 职场人生

黑马程序员_图形化界面

2014-03-31 08:57 267 查看
------- 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培训、期待与您交流! ----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: