图形用户界面设计(一)

 
//绘制图形
Graphics g;
g.drawLine(x1,y1,x2,y2); //画直线(x1,y1)为起始点坐标,(x2,y2)为终点坐标
g.drawRect(x1,y1,x,y); //画矩形框,(x1,y1)为矩形左上角坐标,x,y分别为x轴尺寸,y轴尺寸。
g.fillRect(x1,y1,x,y);  //画实心矩形,其变量意义与上同。
g.drawRoundRect(a,b,c,d,e,f);
g.drawOval(x1,y1,x,y); //画椭圆形框,其变量意义与上同。
g.fillOver(x1,y1,x,y); //画实习椭圆,其变量意义与上同。
//画任意多边形
int[] xCoords = {30,50,65,119,127};//保存多边形各点x坐标的数组
int[] yCoords = {100,140,127,169,201};//保存多边形各点y坐标的数组
g.drawPolygon(xCoords,yCoords,5);
 
//设置并使用颜色
Color blueColor = new Color(0,0.255); //设置一种颜色
g.setColor(blueColor); //使用所设置的颜色
g.getColor(); //返回当前Grahgics或组件对象使用的颜色
 
//设置并使用字体
Font MyFont = new Font(“TimesRoman”,Font.Bold,12);
//MyFont对应的是12磅TimesRoman类型的黑体字,指定字型时需用到Font类的三个常量:Font.PLAIN(无格式),Font.BOLD(粗体),Font.ITALIC(斜体)
g.setFont(MyFont); //使用所设置的字体
g.getFont();//返回当前Grahgics或组件对象使用的字体
 
若指定控制组件,如按钮或文本框的字体效果:
Button bt = new Button(“ddd”);
bt.setFont(MyFont); //把按扭上的字体改为所设的格式
 
//显示图像
Image myImage;
myImage = getImage(getDocumentBase(), “11.jpg”);
g.drawImage(myImage,0,0,this);
//其中getImage(a,b);中a表示图像文件所在的URL地址,若与HTML文件放在同一个目录下,则用getDocumentBase()。b为图像文件的文件名。
drawImage(a,b,c,d);中a为保存有图像数据的Image对象,b、c表示图像的左上角点坐标,决定在容器如浏览器中显示的位置,d的this代表了当前的Applet对象。
 
//显示动画效果
原理:把若干相关的图像或图片,顺序,连续地在屏幕上先显示,后擦除,循环往复就可以获得动画效果。如:
import java.applet.*;
import java.awt.*;
 
public class ShowAnimator extends Applet
{
       Image[] m_Images; //定义Image类型的数组,用来存放一组图片
       int totalImages = 10;//存放的图片总数
       int currentImage = 0;//当前显示的图像序号
      
       public void init()
       {
              //把所需要形成动画的10幅图按顺序加载到数组m_Images中
              m_Images = new Image[totalImages];
              for(int i=0;i<totalImages;i++)
              {
                     m_Images[i] = getImage(getDocumentBase(),"1//"+(i+1)+".jpg");
              }
             
       }
       public void start()
       {
              //每次调用时当前图片为第一幅
              currentImage = 0;
       }
       public void paint(Graphics g)
       {
              g.drawImage(m_Images[currentImage],50,50,this);//显示当前序号的图片
              currentImage = (currentImage+1)%10;//保证循环播放
              try{
                  Thread.sleep(300); //休眠50毫秒,两幅图显示的间隔时间
              }
              catch(InterruptedException e)
              {
                     showStatus(e.toString());
              }
              repaint();//刷新,显示下一张图片
       }import java.applet.*;
import java.awt.*;
 
public class ShowAnimator extends Applet
{
       Image[] m_Images; //定义Image类型的数组,用来存放一组图片
       int totalImages = 10;//存放的图片总数
       int currentImage = 0;//当前显示的图像序号
      
       public void init()
       {
              //把所需要形成动画的10幅图按顺序加载到数组m_Images中
              m_Images = new Image[totalImages];
              for(int i=0;i<totalImages;i++)
              {
                     m_Images[i] = getImage(getDocumentBase(),"1//"+(i+1)+".jpg"); 
              }
              //图片放在的程序所在目录中的1目录中。
       }
       public void start()
       {
              //每次调用时当前图片为第一幅
              currentImage = 0;
       }
       public void paint(Graphics g)
       {
              g.drawImage(m_Images[currentImage],50,50,this);//显示当前序号的图片
              currentImage = (currentImage+1)%10;//保证循环播放
              try{
                  Thread.sleep(300); //休眠50毫秒,两幅图显示的间隔时间
              }
              catch(InterruptedException e)
              {
                     showStatus(e.toString());
              }
              repaint();//刷新,显示下一张图片
       }
 
ActionListener接口与TextListener接口
在文本框中加入实现这两种接口的事件监听者:
textField1.addTextListener(this);
textField1.addActionListener(this);
 
在监听者内部分别定义响应方本改变事件和动作事件的方法:
public void textValueChanged(TextEvent e);
public void actionPerformed(ActionEvent e);
e.getSourse()可以获得引发该事件的文本框的对象引用。如:
if(e.getSourse() == textField1)
{}
//其中textField1为加入该事件的文本框。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值