画图板的java实现Word格式文档下载.docx

上传人:b****3 文档编号:6831734 上传时间:2023-05-07 格式:DOCX 页数:73 大小:658.64KB
下载 相关 举报
画图板的java实现Word格式文档下载.docx_第1页
第1页 / 共73页
画图板的java实现Word格式文档下载.docx_第2页
第2页 / 共73页
画图板的java实现Word格式文档下载.docx_第3页
第3页 / 共73页
画图板的java实现Word格式文档下载.docx_第4页
第4页 / 共73页
画图板的java实现Word格式文档下载.docx_第5页
第5页 / 共73页
画图板的java实现Word格式文档下载.docx_第6页
第6页 / 共73页
画图板的java实现Word格式文档下载.docx_第7页
第7页 / 共73页
画图板的java实现Word格式文档下载.docx_第8页
第8页 / 共73页
画图板的java实现Word格式文档下载.docx_第9页
第9页 / 共73页
画图板的java实现Word格式文档下载.docx_第10页
第10页 / 共73页
画图板的java实现Word格式文档下载.docx_第11页
第11页 / 共73页
画图板的java实现Word格式文档下载.docx_第12页
第12页 / 共73页
画图板的java实现Word格式文档下载.docx_第13页
第13页 / 共73页
画图板的java实现Word格式文档下载.docx_第14页
第14页 / 共73页
画图板的java实现Word格式文档下载.docx_第15页
第15页 / 共73页
画图板的java实现Word格式文档下载.docx_第16页
第16页 / 共73页
画图板的java实现Word格式文档下载.docx_第17页
第17页 / 共73页
画图板的java实现Word格式文档下载.docx_第18页
第18页 / 共73页
画图板的java实现Word格式文档下载.docx_第19页
第19页 / 共73页
画图板的java实现Word格式文档下载.docx_第20页
第20页 / 共73页
亲,该文档总共73页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

画图板的java实现Word格式文档下载.docx

《画图板的java实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《画图板的java实现Word格式文档下载.docx(73页珍藏版)》请在冰点文库上搜索。

画图板的java实现Word格式文档下载.docx

8./**

9.*主函数部分

10.*/

11.publicstaticvoidmain(String[]args){

12.//实例化一个对象:

cal,并且用该对象调用init方法

13.Calcolatorcal=newCalcolator();

14.cal.init();

15.}

16./**

17.*定义初始化窗体界面的方法:

init

18.*/

19.publicvoidinit(){

20.//设置窗体的属性

21.this.setTitle("

这是一个窗体,可以随意设置窗体名"

);

//窗体名的设定

22.this.setSize(320,250);

//窗体大小的设定,其大小单位为像素点数量,可理解为分辨率为320x250

23.this.setDefaultCloseOperation(3);

//设置窗体关闭时退出程序

24.this.setLocationRelativeTo(null);

//设置窗体创建之后在屏幕上居中显示

25.this.setResizable(false);

//设置窗体大小固定,无法实现最大化

26.this.setVisible(true);

//设置窗体对外可见(可显示出来)

27.}

28.}

importjavax.swing.JFrame;

/**

*定义窗体示范类,该类继承自JFrame

*

*@author吴少聪

*/

publicclassCalcolatorextendsJFrame{

/**

*主函数部分

*/

publicstaticvoidmain(String[]args){

//实例化一个对象:

cal,并且用该对象调用init方法

Calcolatorcal=newCalcolator();

cal.init();

}

*定义初始化窗体界面的方法:

init

publicvoidinit(){

//设置窗体的属性

this.setTitle("

//窗体名的设定

this.setSize(320,250);

//窗体大小的设定,其大小单位为像素点数量,可理解为分辨率为320x250

this.setDefaultCloseOperation(3);

//设置窗体关闭时退出程序

this.setLocationRelativeTo(null);

//设置窗体创建之后在屏幕上居中显示

this.setResizable(false);

//设置窗体大小固定,无法实现最大化

this.setVisible(true);

//设置窗体对外可见(可显示出来)

}

……………………………………分割线……………………………………………………

窗体的创建这就像是搭建了一个大体的框架,如一个衣柜或是一个壁橱钉好了最外围的框架,现在我们要往上添加放置具体器物的格子,即放置最基本的JPanel小容器。

窗体要变成这样,我们需要做出如下的源码添加:

1.importjava.awt.Color;

2.importjava.awt.Dimension;

3.importjavax.swing.JFrame;

4.importjavax.swing.JPanel;

5.

6./**

7.*定义窗体示范类,该类继承自JFrame

8.*

9.*@author吴少聪

11.publicclassCalcolatorextendsJFrame{

12./**

13.*主函数部分

14.*/

15.publicstaticvoidmain(String[]args){

16.//实例化对象cal,并且用该对象调用init方法

17.Calcolatorcal=newCalcolator();

18.cal.init();

19.}

20.

21./**

22.*定义初始化窗体界面的方法:

23.*/

24.publicvoidinit(){

25.//设置窗体的属性

26.this.setTitle("

27.this.setSize(420,250);

//窗体大小的设定,其大小单位为像素点数量,可理解为分辨率为420x250

28.this.setLocationRelativeTo(null);

29.this.setResizable(false);

30.

31.//<

<

JPanel容器面板的创建与放置>

>

//

32.JPanelpanel=newJPanel();

//创建(实例化)一个JPanel面板对象:

panel

33.panel.setPreferredSize(newDimension(65,65));

//同样的,面板自己也有大小,设置面板的大小

34.panel.setBackground(Color.blue);

//设置面板自身的背景颜色:

蓝色(可自定义)

35.

36.this.add(panel);

//将创建并定义好的面板放置在窗体上

37.this.setDefaultCloseOperation(3);

38.this.setVisible(true);

39.}

40.}

importjava.awt.Color;

importjava.awt.Dimension;

importjavax.swing.JPanel;

//实例化对象cal,并且用该对象调用init方法

this.setSize(420,250);

//窗体大小的设定,其大小单位为像素点数量,可理解为分辨率为420x250

//<

//

JPanelpanel=newJPanel();

panel

panel.setPreferredSize(newDimension(65,65));

//同样的,面板自己也有大小,设置面板的大小

panel.setBackground(Color.blue);

蓝色(可自定义)

this.add(panel);

//将创建并定义好的面板放置在窗体上

很显然,出错了……错误在哪?

我们往窗体上放置面板,窗体的大小(计算边框)为420*250分辨率,而在我们自己的设置当中,面板的大小仅为65*65分辨率,按理来说面板与窗体大小相差甚远,但是从运行情况上来看,窗体明显被蓝色背景颜色的面板占满,违背了我们设置大小差异的初衷。

那么,问题在哪?

答案很简单:

布局!

所谓布局,通俗来讲便是放置具体器物的空间规划,而窗体本身默认一个布局:

边框布局BorderLayout,由于我们未加定义具体的参数,所以布局将面板拉伸扩充至将窗体界面占满为止。

BorderLayout.布局的形式如下:

!

--EndFragment-->

因此我们只需要把源码中的部分语句增添说明便可:

this.add(panel);

改为:

this.add(panel,BorderLayout.SOUTH);

便可实现:

!

或是:

虽然能够做到对布局做一个大体的改变,但是仍然发现无论是什么样的方位安排,JPanel面板都会填充这一方位,我们定义分辨率的两个数据中也只有一个能起到作用,这也必然达不到我们预期的希望:

按照我们的计划自由安排JPanel面板在窗体上的摆放,且大小完全由我们自定义,而不是方位上的拉伸扩充。

于是我们可以采取使用别的布局方法:

Java语言三大布局管理方法:

FlowLayout(流式布局)、BorderLayout(边框布局)、GridLayout(网格布局管理器)

这里采用FlowLayout(流式布局)进行改造示范:

添加如下源码语句:

1.this.setLayout(newFlowLayout(FlowLayout.CENTER));

//定义窗体为流式布局,并将JPanel面板放于正中间

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

//定义窗体为流式布局,并将JPanel面板放于正中间

并将之前做的布局更改取消,得到如下效果:

现在达到了一个比较令人满意的效果,JPanel面板的方位和大小都能够按照安排摆放了,但是要实现一开始的仿Windows_XP计算器面板效果,还有两部分未完成:

文本框与按钮。

由于文本框并不是高仿Windows_XP画图板开发所需的技术点,这里简要叙述,且该计算器只是单纯的面板画面模仿,并未实现任何计算和输入功能。

文本框(JTextField)的代码实现如下:

1.//<

JTextField文本框的创建与添加>

2.JTextFieldtxt=newJTextField(27);

//创建(实例化)一个文本框对象txt

3.txt.setText("

这是一个文本框"

//设置文本框显示的字符串

4.txt.setHorizontalAlignment(JTextField.LEFT);

//设置显示文本框从左边开始显示字符串

5.txt.setEditable(false);

6.

7.panel.setLayout(newFlowLayout(FlowLayout.CENTER));

//面板本身也可以设置布局

8.panel.add(txt);

//将文本框添加到JPanel面板上

//<

JTextFieldtxt=newJTextField(27);

//创建(实例化)一个文本框对象txt

txt.setText("

//设置文本框显示的字符串

txt.setHorizontalAlignment(JTextField.LEFT);

//设置显示文本框从左边开始显示字符串

txt.setEditable(false);

panel.setLayout(newFlowLayout(FlowLayout.CENTER));

//面板本身也可以设置布局

panel.add(txt);

//将文本框添加到JPanel面板上

由于需要效果明显一些,所以在添加时,取消了窗体的流式布局,实现效果如下:

…………………………………………分割线………………………………………………

文本框的简单实现如上,还有绝大部分的功能未有实现,有待后期学习的发掘,现在进入重要性较高的一个部分:

按钮(JButton)的创建和添加。

按钮创建与添加的源码实现如下:

JButton按钮的创建与添加>

2.StringbuttonName=newString("

这是一个按钮"

//定义一个字符串常量

3.JButtonjbn=newJButton(buttonName);

//创建(实例化)一个按钮对象:

jbn

4.jbn.setFont(newFont("

ArialNarrow"

Font.BOLD,18));

5.panel.add(jbn);

//添加此按钮到面板上

StringbuttonName=newString("

//定义一个字符串常量

JButtonjbn=newJButton(buttonName);

jbn

jbn.setFont(newFont("

panel.add(jbn);

//添加此按钮到面板上

实现过后的效果如下:

(可看见按钮上自动设置了“焦点”)

到了现在,基本的技术点已经演示完一遍,在实例中,多个按钮的创建可以通过循环数组,且可以采取整体的网格布局,但由于高仿Windows_XP画图板的开发重点并不仅仅是一个画面风格的构建,所以在这里不做仿Windows_XP计算器界面逐步完善过程的进一步阐述,现将完善后的全部源码分享如下,大家可以多多批评指正:

1.importjava.awt.BorderLayout;

2.importjava.awt.Color;

3.importjava.awt.Dimension;

4.importjava.awt.FlowLayout;

5.importjava.awt.Font;

6.importjava.awt.GridLayout;

7.

8.importjavax.swing.JButton;

9.importjavax.swing.JFrame;

10.importjavax.swing.JPanel;

11.importjavax.swing.JTextField;

12.

13./**

14.*定义计算器类,该类继承自JFrame

15.*

16.*@author吴少聪

17.*/

18.publicclassCalcolatorextendsJFrame{

19./**

20.*主函数部分

21.*/

22.publicstaticvoidmain(String[]args){

23.//实例化对象cal,并且用该对象调用init方法

24.Calcolatorcal=newCalcolator();

25.cal.init();

26.}

27.

28./**

29.*定义初始化窗体界面的方法:

30.*/

31.publicvoidinit(){

32.//设置窗体的属性

33.this.setTitle("

仿Windows_XP计算器界面"

34.this.setSize(420,250);

35.this.setLocationRelativeTo(null);

36.this.setResizable(false);

37.

38.//<

39.JPanelpanel01=newJPanel();

panel01

40.panel01.setPreferredSize(newDimension(350,65));

41.panel01.setBackground(Color.white);

白色(可自定义)

42.

43.

44.JPanelpanel02=newJPanel();

//创建(实例化)第二个JPanel面板对象:

panel02

45.panel02.setLayout(newGridLayout(4,6,5,5));

//面板对象:

panel02采用网格布局法

46.this.add(panel01,BorderLayout.NORTH);

47.this.add(panel02,BorderLayout.CENTER);

48.

49.

50.//<

51.JTextFieldtxt=newJTextField(27);

//创建(实例化)一个文本框对象txt

52.txt.setText("

0."

//设置文本框显示的字符串

53.txt.setHorizontalAlignment(JTextField.RIGHT);

//设置显示文本框从右边开始显示字符串

54.txt.setEditable(false);

55.

56.panel01.setLayout(newFlowLayout(FlowLayout.RIGHT));

//面板本身也可以设置布局

57.panel01.add(txt);

//将文本框添加到JPanel01面板上

58.

59.//<

60.JButtonbtn1=newJButton("

Backspace"

//实例化一个按钮对象btn1,按钮上显示Backspace

61.JButtonbtn2=newJButton("

CE"

//同上

62.JButtonbtn3=newJButton("

C"

63.panel01.add(btn1);

//将按钮添加到面板panel01上

64.panel01.add(btn2);

65.panel01.add(btn3);

66.

67.//定义一个array数组,指定数组的每一个元素值(即计算器按钮上符号的集群)

68.Stringarray[]={"

MC"

"

7"

8"

9"

/"

sqrt"

MR"

4"

5"

69."

6"

*"

%"

MS"

1"

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2