您的位置:首页 > 产品设计 > UI/UE

黑马程序员——Gui

2015-10-14 00:28 561 查看
1、创建图形化界面:
1.1,创建frame窗体。
1.2,对窗体进行基本设置。
比如大小,位置,布局。
1.3,定义组件。
1.4,将组件通过窗体的add方法添加到窗体中。
1.5,让窗体显示,通过setVisible(true)

2、事件监听机制的特点:
2.1,事件源。
2.2,事件。
2.3,监听器。
2.4,事件处理。

事件源:就是awt包或者swing包中的那些图形界面组件。

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

监听器:将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中。

以上三者,在java中都已经定义好了。
直接获取其对象来用就可以了。
我们要做的事情是,就是对产生的动作进行处理。

class  AwtDemo
{
public static void main(String[] args) 
{
Frame f = new Frame("my awt");  //创建一个图形窗体
f.setSize(500,400);//设置长宽
f.setLocation(300,200);//设置离左边界和上边界的距离
f.setLayout(new FlowLayout()); 
Button b = new Button("我是一个按钮");//创建一个按钮
f.add(b);//将按钮增加到窗体中
f.addWindowListener(new WindowAdapter() //窗体监听
{
public void windowClosing(WindowEvent e)
{
System.out.println("我关");
System.exit(0);
}
public void windowActivated(WindowEvent e) 
{
System.out.println("我活了。");
}
public void windowOpened(WindowEvent e) 
{
System.out.println("我被打开了,hahahhahah");
}
});

f.setVisible(true);
}
}
/*
class MyWin implements WindowListener
{
//覆盖7个方法。可以我只用到了关闭的动作。
//其他动作都没有用到,可是却必须复写。
}
//因为WindowListener的子类WindowAdapter已经实现了WindowListener接口。
//并覆盖了其中的所有方法。那么我只要继承自Windowadapter覆盖我需要的方法即可。
class MyWin extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
//System.out.println("window closing---"+e.toString());
System.exit(0);
}
}

3、如何制作可以双击执行的jar包呢?

3.1,将多个类封装到了一个包(package)中。

3.2,定义一个jar包的配置信息。

定义一个文件a.txt 。文件内容内容为:

Main-Class:(空格)包名.类名(回车)

3.3,打jar包。

jar -cvfm my.jar a.txt 包名

3.4,通过winrar程序进行验证,查看该jar的配置文件中是否有自定义的配置信息。

3.5,通过工具--文件夹选项--文件类型--jar类型文件,通过高级,定义该jar类型文件的打开动作的关联程序。jdk\bin\javaw.exe -jar



4、一些组件和布局。

Frame:Frame 是带有标题和边框的顶层窗口。窗体的默认布局为 BorderLayout。 

Panel:Panel 是最简单的容器类。应用程序可以将其他组件放在面板提供的空间内,这些组件包括其他面板。 

面板的默认布局管理器是 FlowLayout 布局管理器。 尊重组件的大小

---布局管理器
BoderLayout:这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTH、SOUTH、EAST、WEST、CENTER。当使用边框布局将一个组件添加到容器中时,要使用这五个常量之一 

FlowLayout :
流布局用于安排有向流中的组件,这非常类似于段落中的文本行。流的方向取决于容
cfc2
器的 componentOrientation 属性,它可能是以下两个值中的一个: 

ComponentOrientation.LEFT_TO_RIGHT 
ComponentOrientation.RIGHT_TO_LEFT 

GridLayout:
GridLayout 类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。例如,下面是一个将六个按钮布置到三行两列中的 applet:
GridBagLayout:
cardLayout:
LayoutManger:接口 布局管理器实现的接口

窗体的坐标.左上定点开头(0,0) 向右增长 向下增长 增长的数字是像素

Dimension: 类封装单个对象中组件的宽度和高度(精确到整数)。该类与组件的某个属性关联。由 Component 类和 LayoutManager 接口定义的一些方法将返回 Dimension 对象。 

添加监听的步骤:
1.新建监听类
2.为组件设置command 为组件添加监听对象
---监听的使用
1。为多类服务 写到一个单独的类中
2.内部类
3.使用的类是想ActionListener

JButton :按钮
JTextField:单行文本域
JTextArea:多行文本区
JPasswordField:密码输入框
JScrollPane:滚动窗体  使用一个多行文本域作为参数创建滚动窗体
JComboBox:下拉选择框

JRadioButton:单选按钮
JCheckBox:多选按钮
JList:多行列表
JLabel:标签
JEditorPane:显示结构化文档
Border:边框

JMenuBar:菜单条
JMenu:菜单
JMenuItem:菜单项
JPopupMenu:弹出式菜单

JSlider:滑动条
JProgressBar:进度条
JTabbedPane:分层面板
JSplitPane:分隔面板
JToolBar:工具条

JFileChooser:文件选择器
JColorChooser:颜色选择器

显示对话框 
JoptionPane 里面有很多静态方法可以弹出对话框

1、创建图形化界面:
1.1,创建frame窗体。
1.2,对窗体进行基本设置。
比如大小,位置,布局。
1.3,定义组件。
1.4,将组件通过窗体的add方法添加到窗体中。
1.5,让窗体显示,通过setVisible(true)

2、事件监听机制的特点:
2.1,事件源。
2.2,事件。
2.3,监听器。
2.4,事件处理。

事件源:就是awt包或者swing包中的那些图形界面组件。

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

监听器:将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中。

以上三者,在java中都已经定义好了。
直接获取其对象来用就可以了。
我们要做的事情是,就是对产生的动作进行处理。

class  AwtDemo
{
public static void main(String[] args) 
{
Frame f = new Frame("my awt");  //创建一个图形窗体
f.setSize(500,400);//设置长宽
f.setLocation(300,200);//设置离左边界和上边界的距离
f.setLayout(new FlowLayout()); 
Button b = new Button("我是一个按钮");//创建一个按钮
f.add(b);//将按钮增加到窗体中
f.addWindowListener(new WindowAdapter() //窗体监听
{
public void windowClosing(WindowEvent e)
{
System.out.println("我关");
System.exit(0);
}
public void windowActivated(WindowEvent e) 
{
System.out.println("我活了。");
}
public void windowOpened(WindowEvent e) 
{
System.out.println("我被打开了,hahahhahah");
}
});

f.setVisible(true);
}
}
/*
class MyWin implements WindowListener
{
//覆盖7个方法。可以我只用到了关闭的动作。
//其他动作都没有用到,可是却必须复写。
}
//因为WindowListener的子类WindowAdapter已经实现了WindowListener接口。
//并覆盖了其中的所有方法。那么我只要继承自Windowadapter覆盖我需要的方法即可。
class MyWin extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
//System.out.println("window closing---"+e.toString());
System.exit(0);
}
}

3、如何制作可以双击执行的jar包呢?

3.1,将多个类封装到了一个包(package)中。

3.2,定义一个jar包的配置信息。

定义一个文件a.txt 。文件内容内容为:

Main-Class:(空格)包名.类名(回车)

3.3,打jar包。

jar -cvfm my.jar a.txt 包名

3.4,通过winrar程序进行验证,查看该jar的配置文件中是否有自定义的配置信息。

3.5,通过工具--文件夹选项--文件类型--jar类型文件,通过高级,定义该jar类型文件的打开动作的关联程序。jdk\bin\javaw.exe -jar



4、一些组件和布局。

Frame:Frame 是带有标题和边框的顶层窗口。窗体的默认布局为 BorderLayout。 

Panel:Panel 是最简单的容器类。应用程序可以将其他组件放在面板提供的空间内,这些组件包括其他面板。 

面板的默认布局管理器是 FlowLayout 布局管理器。 尊重组件的大小

---布局管理器
BoderLayout:这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTH、SOUTH、EAST、WEST、CENTER。当使用边框布局将一个组件添加到容器中时,要使用这五个常量之一 

FlowLayout :
流布局用于安排有向流中的组件,这非常类似于段落中的文本行。流的方向取决于容器的 componentOrientation 属性,它可能是以下两个值中的一个: 

ComponentOrientation.LEFT_TO_RIGHT 
ComponentOrientation.RIGHT_TO_LEFT 

GridLayout:
GridLayout 类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。例如,下面是一个将六个按钮布置到三行两列中的 applet:
GridBagLayout:
cardLayout:
LayoutManger:接口 布局管理器实现的接口

窗体的坐标.左上定点开头(0,0) 向右增长 向下增长 增长的数字是像素

Dimension: 类封装单个对象中组件的宽度和高度(精确到整数)。该类与组件的某个属性关联。由 Component 类和 LayoutManager 接口定义的一些方法将返回 Dimension 对象。 

添加监听的步骤:
1.新建监听类
2.为组件设置command 为组件添加监听对象
---监听的使用
1。为多类服务 写到一个单独的类中
2.内部类
3.使用的类是想ActionListener

JButton :按钮
JTextField:单行文本域
JTextArea:多行文本区
JPasswordField:密码输入框
JScrollPane:滚动窗体  使用一个多行文本域作为参数创建滚动窗体
JComboBox:下拉选择框

JRadioButton:单选按钮
JCheckBox:多选按钮
JList:多行列表
JLabel:标签
JEditorPane:显示结构化文档
Border:边框

JMenuBar:菜单条
JMenu:菜单
JMenuItem:菜单项
JPopupMenu:弹出式菜单

JSlider:滑动条
JProgressBar:进度条
JTabbedPane:分层面板
JSplitPane:分隔面板
JToolBar:工具条

JFileChooser:文件选择器
JColorChooser:颜色选择器

显示对话框 
JoptionPane 里面有很多静态方法可以弹出对话框
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: