教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

3ATW Swing 事件处理(4)

来源:网络收集 时间:2026-08-26
导读: 默认值为1。 ", weightx、weighty:指定分配额外的水平和垂直空间,它们的默认值为0 并且为非负。 ", ipadx、ipady:指定组件的内部填充宽度,即为组件的最小宽度、最小高度添加多大的空间,默认值为0。 ", fill:

默认值为1。

", weightx、weighty:指定分配额外的水平和垂直空间,它们的默认值为0 并且为非负。 ", ipadx、ipady:指定组件的内部填充宽度,即为组件的最小宽度、最小高度添加多大的空间,默认值为0。

", fill:指定单元大于组件的情况下,组件如何填充此单元,缺省为组件大小不变。以下为静态数据成员列表,它们是fill 变量的值。 GridBagConstraints.NONE //组件大小不改变 GridBagConstraints.HORIZONTAL //水平填充 GridBagConstraints.VERTICAL //垂直填充 GridBagConstraints.BOTH //填充全部区域

如果指定单元大于组件的情况下,如果不填充可以通过anchor 指定组件在单元的位置, 缺省值为中部。还可以是下面的静态成员,它们都是anchor 的值。 GridBagConstraints.CENTER //中间位置 GridBagConstraints.NORTH //上北位置 GridBagConstraints.EAST //右东位置 GridBagConstraints.WEST //左西位置 GridBagConstraints.SOUTH //下南位置 GridBagConstraints.NORTHEAST //东北位置 GridBagConstraints.SOUTHEAST //东南位置 GridBagConstraints.NORTHWEST //西北位置 GridBagConstraints.SOUTHWEST //西南位置

容器的嵌套

在复杂的图形用户界面设计过程中,将所有的组件一起添加到一个容器时,图形界面的管理是具有一定的难度。容器中可以添加容器,这就是容器的嵌套。容器的嵌套使复杂的图形用户界面的设计更加方便有效。下面是一个容器嵌套的例子。 // 文件:程序11.8 NestedContainer.java 嵌套容器演示 //导入需要使用的包和类 import java.awt.*;

import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class NestedContainer{ public static void main(String args[ ]){

new NestedContainer().show(); //创建NestedContainer 实例,并调用show 方法 }

public void show(){

f = new Frame(\容器嵌套使用\初始化窗口对象f bo= new Button(\打开\初始化按钮对象bo bc= new Button(\关闭\初始化按钮对象bc pn = new Panel(); //初始化面板对象pn

pn.setBackground(Color.green); //设置面板背景色

pn.add(bo); //面板pn 中添加按钮bo pn.add(bc); //面板pn 中添加按钮bc f.add(pn,\在窗口中添加面板pn bw=new Button(\左西\初始化按钮对象bw f.add(bw,\将按钮对象bw 添加到West 位置 p=new Panel(); //初始化面板对象p

p.setBackground(Color.red); //设置面板对象的背景色 f.add(p,\在窗口f 中添加p 与Center 位置 f.setSize(400, 300); //设置f 窗口的大小 f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent evt) { f.setVisible(false); //设置窗口f 不可见 f.dispose(); //释放窗口及其子组件的屏幕资源 System.exit(0); //退出程序 } });

f.setVisible(true); //显示窗口f }

private Frame f; //声明窗口域f

private Panel pn,p; //声明面板Panel 域pn,p private Button bw; //声明面板Button 域bw

private Button bo,bc; //声明面板Button 域bo,bc } 4 绘图 文字输出

如果使用者自己不设置,将使用默认字体、大小和颜色。若要改变默认属性,必须使用相关的方法改变Graphics 对象的属性。

public void setBackground(Color c) //设置组件的背景色。背景色对每一个组件的影响不相同,受背景色的影响而导致组件在不同的操作系统表现可能不同。

public abstract void setColor(Color c)//该方法将Graphics 的绘图颜色设置为指定颜色。设置之后,如果没有修改,Graphics 的绘图的颜色就会一直保持。

选择颜色有两种方法,一种是直接用RGB 颜色值创建Color 对象 Color color = new Color(R,G,B);另一种是用颜色常量,例如Color.red, Color.green 等。

字体设置需要使用java.awt.Font 类创建一个对象,Font(字体名或逻辑字体名,字型,字号)字体名是指与运行程序的操作系统相适应的字体外观名称或者字体系列名称。字型为Font 类声明了样式静态常量有4 种: Font.PLAIN 、Font.BOLD 、Font.ITALIC 、 Font.BOLD|ITALIC。

图形绘制

Graphics 常用的绘图方法有以下几种。

", abstract void drawLine(int x1, int y1, int x2, int y2):用图形上下文的当前颜色绘制在 点(x1, y1)和(x2, y2)之间画一条线。

", abstract void drawRect(int x, int y, int width, int height):绘制指定矩形左上坐标为 (x,y),并指定长宽的边框。

", abstract void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight):用图形上下文的当前颜色绘制圆角矩形的边框。

", abstract void fill3DRect(int x, int y, int width, int height, boolean raised):用图形上下文 的当前颜色填充的3D 矩形。

", abstract void fillOval(int x, int y, int width, int height):用图形上下文的当前颜色填充 外接指定矩形框的椭圆。

", abstract void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle):用图 形上下文的当前颜色填充覆盖指定矩形的圆弧或椭圆弧。

", abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints):用图形上下文的当 前颜色绘制由x 和y 坐标数组定义的一系列连接线。

", abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints):用图形上下文的当 前颜色绘制一个由x 和y 坐标数组定义的闭合多边形。

", void drawPolygon(Polygon p):用图形上下文的当前颜色绘制由指定的Polygon 对象定义的多边形边框。

…… 此处隐藏:1620字,全部文档内容请下载后查看。喜欢就下载吧 ……
3ATW Swing 事件处理(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/435434.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)