第6章_Java图形用户界面

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//page2.html <HTML> <HEAD><TITLE>Java 小程序</TITLE></HEAD> <BODY> <APPLET CODE="TestColor" WIDTH=200 HEIGHT=80></APPLET> </BODY> </HTML>
运行后结果如下:
6.2.3 字符数组和字节数组的显示
第6章 Java图形用户界面
6.1 图形用户界面概述和java.awt包简介 6.2 字体和颜色的设置、图形绘制和图像显示
6.3 Graphics2D画图简介
6.1 图形用户界面概述和java.awt包简介
图形用户界面GUI(Graphics User Interface), 就是应用程序提供给用户操作的图形界面,包括窗 口、菜单、按钮、工具栏和其他各种界面元素。 在Java里有两个包为GUI设计提供了丰富的功能: awt(abstract windows toolkit)包和swing包。
GUI组件分类
在AWT的概念中,窗口系统中所显示的各种对象都 统称为“GUI组件”(Component)。组件有基本 组件和容器组件之分。 基本组件是不能包含其它组件的组件,是构成图 形用户界面的基本元素。 容器组件是用来包含其他组件的,故称之为容器 (container)。用户可以把各种组件放入到容器中, 也可以把容器放到另一个容器中,从而形成具有层 次的组件结构。
Font font1=new Font("宋体",Font.BOLD+Font.ITALIC,15); String s="中国北京"; g.setColor(c1); g.setFont(font1); g.drawString("红色"+s,10,20); g.setColor(c2); g.drawString("红色"+s,10,40); g.setColor(c3); g.drawString("粉色"+s,10,60); } }
以下三个方法是Graphics类(该类在java.awt包中)的方法。
1. 绘制字符串 public void drawString(String str, int x, int y)
坐标点(x,y)与要绘制的字符串Str左下角对应。
2.绘制字符数组 public void drawChars(Char chars[ ],int offset,int number,int x,int y) 参数offset是数组的起始下标,参数number是要绘制的元 素个数,坐标点(x,y)含义同上。
例2. 编写一个颜色设置的程序。
//TestColor.java
import java.applet.Applet; import java.awt.*; public class TestColor extends Applet { public void init() { setBackground(Color.black); } public void paint(Graphics g) { Color c1=new Color(255,0,0); Color c2=new Color(255,0,0,128); Color c3=Color.pink;
3.绘制字节数组
public void drawBytes(Char bytes[ ],int offset,int number,int x,int y)
含义同字符数组。
例:编写程序,显示字符数组和字节数组 。
// DrawCharByte.java
import java.applet.*; import java.awt.*; public class DrawCharByte extends Applet { public void init() { setBackground(Color.black); } public void paint(Graphics g) { String s="中国北京"; g.setColor(Color.red); g.drawString(s,20,40);
无边框
面板类panel 容器类(Cotainer)Applet
小程序类
窗体类windows
有边框
组件类
(Component)
Frame Dialog
框架类 对话框类
基本组件类
Label 标签类 Button 按钮类 TextComponet 文本组件类 List 列表类 Canvas 画布类 Checkbox 单选按钮与复选按钮 Scrollbar 滚动条类
Color类共有13种颜色常量,使用的时候可以查询API 文档。 如:Color.RED表示红色
三、设置颜色 public void setColor(Color c) -设置颜色 public Color getColor() –返回当前颜色对象 public int getRed() –得到当前颜色对象的red值 public int getGreen() –得到颜色对象的green值 public int getBlue() –得到颜色对象的blue值 public int getAlpha()-得到颜色对象的alpha值。
public Color(float r,float g,float b)
public Color(float r,float g,float b,float a)
第一种是用r,g,b值创建一种不透明的颜色。第二种是用r,g,b值创 建一种透明的颜色,a表示透明度。参数取值为0.0f~1.0f。
二、Color类的颜色常量
//page1.html <HTML> <HEAD><TITLE>Java 小程序</TITLE></HEAD> <BODY> <APPLET CODE="TestFont" WIDTH=200 HEIGHT=60></APPLET> </BODY> </HTML>
运行后结果如下:
思考:
若将例1中的 g.drawString(s,10,30); 替换为 for(int i=0;i<s.length();i++) g.drawString(""+s.charAt(i),10,35+i*30); 并将page1.html中的WIDTH=200 HEIGHT=60 改为 WIDTH=200 HEIGHT=150 结果会怎样?
awt是java GUI的早期版本,组件种类有限,只提供基 本的GUI设计类。 swing包是SUN公司对早期版本的改进版本,它提供了 更加丰富的组件和功能。 swing会用到awt中许多知识,学习awt包是学习GUI编 程的基础。
java.awt包中的一些常用类
Object类 java所有类的父类(java的基类)
Font 字体类 Color 颜色类
Graphics 几何绘图类
Componet 组件类 CheckboxGroup 按钮组合 FlowLayout 布局管理器 BorderLayout 边界布局管理器 GridLayout 网格布局管理器 GridBagLayout 网袋布局管理器 Event 事件处理类 MenuComponet 菜单组件类
public void fillRoundRect(int x, int y,int width,int height,int arcWidth,int arcHeight) 前4个参数的意义同上,第5,6个参数arcWidth和arcHeight 分别为水平方向圆弧总宽度、垂直方向圆弧总宽度。 注:若圆弧的宽度和高度分别等于矩形的宽度和高度, 则绘制的是椭圆。
//page3.java <HTML> <HEAD><TITLE>Java 小程序</TITLE></HEAD> <BODY> <APPLET CODE="DrawCharByte" WIDTH=200 HEIGHT=80></APPLET> </BODY> </HTML>
运行后结果如下:
6.2.4 java的图形绘制
(4).画3D矩形 public void draw3DRect(int x,int y,int width,int height,boolean bool);
//TestFont.java
import java.applet.Applet; import java.awt.Graphics; import java.awt.Font; public class TestFont extends Applet { public void paint(Graphics g) { Font font1=new Font("宋体",Font.BOLD,30); g.setFont(font1); String s="中国北京"; g.drawString(s,10,30); } Graphics.drawstring(String str,int x,int y),其中 } 的坐标x和y指的是整个文本块显示时左下角的位置。
6.2 字体和颜色的设置、图形绘制和图像显示
6.2.1 设置字体 一、创建Font类的对象 使用java.awt包中的Font类的构造函数创建字体类的对象。 Font(String name,int style,int size)
Font.PLAIN 例:
Font.BOLD
Font.ITALIC
Font font1=new Font(“楷体_GB2312”,Font.BOLD+Font.ITALIC,50);
1.画直线 public void drawLine(int x1,int y1,int x2,int y2); 功能:在点(x1,y1)和(x2,y2)之间画直线。 2.画矩形
(1)画矩形 public void drawRect(int x,int y,int width,int height);
二、设置字体 public void setFont(Font font) -设置字体 public Font getFont() -返回当前字体对象
※字体的创建和设置应在显示前进行,否则以系统默认字体显示。
例1:编写一个简单的设置字体的程序,将字体设置为宋 体、黑体,大小为30个像素,并在小程序窗口输出。
运行后结果如下:
6.2.2 设置颜色 利用java.awt包中的Color类可以创建颜色类的对象。 一、创建color对象 public Color(int r,int g,int b)
public Color(int r,int g,int b,int a)
第一种是用r,g,b值创建一种不透明的颜色。第二种是用r,g,b值创 建一种透明的颜色,a表示透明度。参数取值为0~255。
char ch[]=new char[]{'A','B','C','D','E'}; g.setColor(Color.white); g.drawChars(ch,0,5,80,40); byte byt[]=new byte[]{65,66,67,68,69}; g.setColor(Color.yellow); g.drawBytes(byt,0,3,82,42); } }
预备知识:
Java图形界面窗口的坐标原点(0,0)在窗口左上角,水平 向右为x的正方向,垂直向下为y的正方向,坐标值单位是像素。 小程序窗口的坐标系同上,通过getSize()方法可得到小程序 窗口界面的宽和高。 小程序窗口宽w:int w=getSize().width;
小程序窗口高h:int h=getSize().height;
功能:以给定坐标(x,y)为左上角坐标,画宽度 为width,高度为height的矩形 (2)用当前设置的颜色画填充矩形 public void fillRect(int x,int y,int width,int height);
(3)画圆角矩形 public void drawRoundRect(int x, int y,int width,int height,int arcWidth,int arcHeight)
相关文档
最新文档