java图形开发.docx

上传人:b****7 文档编号:11057316 上传时间:2023-02-24 格式:DOCX 页数:76 大小:208.24KB
下载 相关 举报
java图形开发.docx_第1页
第1页 / 共76页
java图形开发.docx_第2页
第2页 / 共76页
java图形开发.docx_第3页
第3页 / 共76页
java图形开发.docx_第4页
第4页 / 共76页
java图形开发.docx_第5页
第5页 / 共76页
点击查看更多>>
下载资源
资源描述

java图形开发.docx

《java图形开发.docx》由会员分享,可在线阅读,更多相关《java图形开发.docx(76页珍藏版)》请在冰豆网上搜索。

java图形开发.docx

java图形开发

图形开发

1、图形用户界面(gui)介绍

图形用户界面(GraphicsUserInterface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作。

awt,swing,swt,Jface是什么?

Sun已经提供了一个跨平台GUI开发工具包AWT抽象窗口工具箱(AbstractWindowToolkit).

Sun又创建了一个新的GUI框架swing.解决了AWT存在的Icd问题.

IBM认为swing比较消耗内存,创建了一个新的GUI库,这就是SWT

IBM为了方便开发SWT程序,在SWT基础上又创建了一个更易用,功能强大的图开包"JFace"

2、eclipse开发工具介绍

eclipse是什么东西,我们用三句话来说明:

1、eclipse最早是IBM附属公司oti开发的,一共投入了4000万美金,后来捐献给开源社区

2、eclipse是一个开源的、可扩展的集成开发环境,已经成为目前最流行的java开发工具

3、eclipse安装后就可以开发javase的项目了,但不能开发javaee项目,需要安装web开发插件(lomboz或是myeclipse..)

ide(集成开发环境,比如jcreator、vs、myeclipse这些开发工具都是ide)

3、swing组件介绍

1、JFrame是Frame的子类

2、属于容器类组件,顶层容器

3、JFrame有一些常用的方法,通过示例与java的帮助文档即可了解。

 

按钮组件为什么有?

在图形用户界面编程中,我们在窗体中会经常使用到按钮,我们在进行选择的时候,常常需要确认,所以按钮很重要。

按钮组件怎么用?

只需要在窗体中添加按钮组件(JButton)即可完成。

按钮组件--深入讨论

1、JButton是AbstractButton的子类

2、属于窗口类组件,可以加入别的组件

3、Swing包的按钮组件不只有JButton,还有单选按钮(JRadioButton)、箭头按钮(BasicArrowButton)、触发器按钮(JToggleButton)..这些按钮我们在后面讲解。

//功能:

GUI界面开发演示[Window001.java]

importjava.awt.*;//开发图形要引入java.awt.*包

importjavax.swing.*;//开发图形要引入javax.swing.*包

publicclassWindow001extendsJFrame{//继承JFrame顶层容器类(可以添加其它swing组件的类)

//把需要的swing组件,定义到这里

JButtonjb1=null;

publicstaticvoidmain(String[]args){

Window001win=newWindow001();

}

//构造函数

publicWindow001(){

//创建一个button按钮

jb1=newJButton("按钮");

//添加JButton组件

this.add(jb1);

//给窗体设置标题

this.setTitle("HelloWorld!

");

//设置窗体大小,按像素设置大小

this.setSize(500,500);

//设置窗体初始位置

this.setLocation(500,150);

//设置当关闭窗口时,保证JVM也退出

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//显示窗体

this.setVisible(true);//true显示,false不显示

}

}

4、三大常用布局管理器

布局管理器--介绍

1、概念

组件在容器(比如JFrame)中的位置和大小是由布局管理器来决定的。

所有的容器都会

使用一个布局管理器,通过它来自动进行组件的布局管理。

2、种类

java共提供了五种布局管理器:

流式布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、网格包布局管理器(GridBagLayout)。

其中前三种是最常见的布局管理器。

边界布局BorderLayout--介绍

边界布局(BorderLayout)将容器简单的划分为东南西北5个区域,中间区域最大。

JFrame窗体,JDialog对话框组件默认布局方法

边界布局BorderLayout--使用[Window002.java]

/**

*边界布局BorderLayout使用演示

*1、继承JFrame

*2、定义你需要的各个组件

*3、创建组件(在构造函数中组件)

*4、添加组件

*5、对窗体设置

*6、显示窗体

*/

importjava.awt.*;

importjavax.swing.*;

publicclassWindow002extendsJFrame{

//定义组件

JButtonjb1,jb2,jb3,jb4,jb5;

publicstaticvoidmain(String[]args){

Window002win=newWindow002();

}

publicWindow002(){

//创建组件

jb1=newJButton("中部");

jb2=newJButton("北部");

jb3=newJButton("东部");

jb4=newJButton("南部");

jb5=newJButton("西部");

//添加各个组件

this.add(jb1,BorderLayout.CENTER);//BorderLayout.CENTER添加到中部

this.add(jb2,BorderLayout.NORTH);//BorderLayout.NORTH添加到北部

this.add(jb3,BorderLayout.EAST);//BorderLayout.EAST添加到东部

this.add(jb4,BorderLayout.SOUTH);//BorderLayout.SOUTH添加到南部

this.add(jb5,BorderLayout.WEST);//BorderLayout.WEST添加到西部

//设置窗体属性

this.setTitle("边界布局演示");//窗体标题名称

this.setSize(300,200);//窗体尺寸

this.setLocation(200,200);//窗体在屏幕打开时的初始位置

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗体后将JFrame同时关闭

//显示窗体

this.setVisible(true);

}

}

------------------------------------------------------------------------------

边界布局BorderLayout--注意事项

1、不是五个部分都必需添加;

2、中部组件会自动调节大小;

3、JFrame,Jdialog默认布局管理器就是BorderLayout

三大常用布局管理器--流式布局

流式布局FlowLayout--介绍

FlowLayout布局,按照组件的添加次序将按钮组件(当然也可以是别的组件)从左到右放置在容器中。

当到达容器的边界时,组件将放置到下一行中。

FlowLayout可以以左对齐、居中对齐、以右对齐的方式排列组件。

流式布局FlowLayout--使用[Window003.java]

/**

*流式布局FlowLayout使用演示

*1、继承JFrame

*2、定义你需要的各个组件

*3、创建组件(在构造函数中组件)

*4、添加组件

*5、对窗体设置

*6、显示窗体

*/

importjava.awt.*;

importjavax.swing.*;

publicclassWindow003extendsJFrame{

//定义组件

JButtonjb1,jb2,jb3,jb4,jb5,jb6;

publicstaticvoidmain(String[]args){

Window003win=newWindow003();

}

publicWindow003(){

//创建组件

jb1=newJButton("关羽");

jb2=newJButton("张飞");

jb3=newJButton("赵云");

jb4=newJButton("马超");

jb5=newJButton("黄忠");

jb6=newJButton("魏延");

//添加各个组件

this.add(jb1);

this.add(jb2);

this.add(jb3);

this.add(jb4);

this.add(jb5);

this.add(jb6);

//设置布局管理器,流式布局默认为居中对齐

this.setLayout(newFlowLayout(FlowLayout.LEFT));

//newFlowLayout(FlowLayout.LEFT)流式布局,(FlowLayout.?

?

)?

?

可以设置为不同方式对齐。

//设置窗体属性

this.setTitle("流式布局演示");//窗体标题名称

this.setSize(300,200);//窗体尺寸

this.setLocation(200,200);//窗体在屏幕打开时的初始位置

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗体后将JFrame同时关闭

//禁止用户改变窗体大小

this.setResizable(false);

//显示窗体

this.setVisible(true);

}

}

------------------------------------------------------------------------------

流式布局FlowLayout--注意事项

1、不限制他所管理的组件大小,允许他们有最佳大小

2、当容器衩缩放时,组件的位置可能变化,但组件的大小不变。

3、默认组件是居中对齐,可以通过FlowLayout(intalign)函数来指定对齐方式。

三大常用布局管理器--网格

网格布局GridLayout--介绍

GridLayout布局,听其名而知其意,它将容器分割成多行多列,组件被填充到每个网格中,添加到容器中的组件首先放置在左上角的网格中,然后从左到右放置其它的组件,当占满该行的所有网格后,接着继续在下一行从左到右放置组件。

网格布局GridLayout--使用[Window004.java]

/**

*网格布局GridLayout使用演示

*1、继承JFrame

*2、定义你需要的各个组件

*3、创建组件(在构造函数中组件)

*4、添加组件

*5、对窗体设置

*6、显示窗体

*/

importjava.awt.*;

importjavax.swing.*;

publicclassWindow004extendsJFrame{

//定义组件

intsize=9;

JButtonjbs[]=newJButton[size];

publicstaticvoidmain(String[]args){

Window004win=newWindow004();

}

publicWindow004(){

//创建组件

for(inti=0;i

jbs[i]=newJButton(String.valueOf(i+1));

}

//添加各个组件

for(inti=0;i

this.add(jbs[i]);

}

//设置网格布局管理器

this.setLayout(newGridLayout(3,3,10,10));//newGridLayout(行,列)设置布局有几行几列

//设置窗体属性

this.setTitle("网格布局演示");//窗体标题名称

this.setSize(300,200);//窗体尺寸

this.setLocation(200,200);//窗体在屏幕打开时的初始位置

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗体后将JFrame同时关闭

//禁止用户改变窗体大小

this.setResizable(false);

//显示窗体

this.setVisible(true);

}

}

------------------------------------------------------------------------------

网格布局GridLayout--注意事项

1、组件的相对位置不随容器的缩放而变化,但大小会变化;

2、所有组件的大小相同;

3、可以通过GridLayout(introws,intcols,inthgap,intvgap)来指定网格的行/列,水平间隙/垂直间隙。

参数说明:

rows:

行数/cols:

列数/hgap:

垂直间隙/vgap:

水平间隙

三大常用布局管理器--小结

开发GUI程序步骤

1、继承JFrame

2、定义需要的组件

3、创建组件

4、设置布局管理器

5、添加组件

6、显示窗体

Swing组件--面板组件

面板组件(JPanel)--介绍

在图形用户界面编程中,如果只是普通的组件布局,我们用前面讲的三种布局管理器就可以解决,但在比较复杂的布局要求时,就需要使用布局管理器的组合使用。

面板组件(JPanel)--使用[Window005.java]

JPanel:

面板组件,非顶层容器,一个界面只可以有一个JFrame窗体组件,但可以有多个JPanel面板组件,而JPanel上也可以使用FlowLayout、BorderLayout、GirdLayout等各种布局管理器,这样可以组合使用达到较为复杂的布局效果。

/**

*多种布局管理器,面板组件(JPanel)--使用

*/

importjava.awt.*;

importjavax.swing.*;

publicclassWindow005extendsJFrame{

//定义组件

JPaneljp1,jp2;

JButtonjb1,jb2,jb3,jb4,jb5,jb6;

publicstaticvoidmain(String[]args){

Window005win=newWindow005();

}

//构造函数

publicWindow005(){

//创建组件

jp1=newJPanel();//JPanel布局默认是FlowLayout流布局

jp2=newJPanel();

jb1=newJButton("西瓜");

jb2=newJButton("苹果");

jb3=newJButton("荔枝");

jb4=newJButton("葡萄");

jb5=newJButton("桔子");

jb6=newJButton("香蕉");

//设置布局管理器(Jpanel默认流布局)

//添加JPanel

jp1.add(jb1);

jp1.add(jb2);

jp2.add(jb3);

jp2.add(jb4);

jp2.add(jb5);

//把Panel加入JFrame

this.add(jp1,BorderLayout.NORTH);

this.add(jb6,BorderLayout.CENTER);

this.add(jp2,BorderLayout.SOUTH);

//设置窗体

this.setSize(300,250);//窗体大小

this.setLocation(200,200);//屏幕显示初始位置

this.setVisible(true);//显示

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗体后将JFrame同时关闭

}

}

------------------------------------------------------------------------------

面板(JPanel)组件--注意事项

1、JPanel是JComponent的子类;

2、属于容器类组件,可以加入别的组件;

3、默认布局管理器是流式布局(FlowLayout)

Swing组件--文本框/密码框/标签组件[Window006.java]

几个常用组件

在图形用户界面编程中,我们常常会提供用户登录界面,比如登录到会员管理系统,登录到工资管理系统、仓库管理系统等。

这时候我们就会用到:

1、文本框(JTextField)

2、密码框(JPasswordField)

3、标签(JLable)

/**

*Swing组件--文本框(JTextField)/密码框(JPasswordField)/标签(JLable)组件使用

*/

importjava.awt.*;

importjavax.swing.*;

publicclassWindow006extendsJFrame{

//定义组件

JPaneljp1,jp2,jp3;//面板

JLabeljlb1,jlb2;//标签

JButtonjb1,jb2;//按钮

JTextFieldjtf;//文本

JPasswordFieldjpf;//密码

publicstaticvoidmain(String[]args){

Window006win=newWindow006();

}

//构造函数

publicWindow006(){

//创建面板

jp1=newJPanel();

jp2=newJPanel();

jp3=newJPanel();

//创建标签

jlb1=newJLabel("用户名");

jlb2=newJLabel("密码");

//创建按钮

jb1=newJButton("登录");

jb2=newJButton("取消");

//创建文本框

jtf=newJTextField(10);

//创建密码框

jpf=newJPasswordField(10);

//设置布局管理

this.setLayout(newGridLayout(3,1));//网格式布局

//加入各个组件

jp1.add(jlb1);

jp1.add(jtf);

jp2.add(jlb2);

jp2.add(jpf);

jp3.add(jb1);

jp3.add(jb2);

//加入到JFrame

this.add(jp1);

this.add(jp2);

this.add(jp3);

//设置窗体

this.setTitle("用户登录");//窗体标签

this.setSize(300,150);//窗体大小

this.setLocationRelativeTo(null);//在屏幕中间显示(居中显示)

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出关闭JFrame

this.setVisible(true);//显示窗体

//锁定窗体

this.setResizable(false);

}

}

------------------------------------------------------------------------------

Swing组件--复选框/单选框组件[Window007.java]

几个常用组件

在图形用户界面编程中,我们常常会提供用户注册界面,这时候我们就会用到:

1、复选框组件(JCheckBox)

2、单选框组件(JRadioBuutton)

特别说明:

同一组单选按钮必需先创建ButtonGroup,然后把单选框组件放入到ButtonGroup中

/**

*复选框组件(JCheckBox)和单选框组件(JRadioButton)使用

*/

importjava.awt.*;

importjavax.swing.*;

publicclassWindow007extendsJFrame{

//定义组件

JPaneljp1,jp2,jp3;

JLabeljl1,jl2;

JCheckBoxjcb1,jcb2,jcb3;

JRadioButtonjrb1,jrb2;

ButtonGroupbg;

JButtonjb1,jb2;

publicstaticvoidmain(String[]args){

Window007win=newWindow007();

}

//构造函数

publicWindow007(){

//创建组件

jp1=newJPanel();

jp2=newJPanel();

jp3=newJPanel();

jl1=newJLabel("你最喜欢的运功:

");

jl2=newJLabel("你的性别:

");

jcb1=newJCheckBox("足球");

jcb2=newJCheckBox("篮球");

jcb3=newJCheckBox("网球");

jrb1=newJRadioButton("

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1