自适应窗口

java写的圆(能自适应程序窗口)
2008年09月11日 星期四 下午 03:49
这几天对曲线感兴趣,所以搞了一些。下面贴上我写的圆,各位指点指点。。。。

import java.applet.*;
import java.awt.*;
import java.math.*;
public class mycircle extends Applet {
public void paint(Graphics g){
int width=getWidth(),height=getHeight(); //获取当前程序窗口的大小
if(width>height)width=height;
int r=2*width/5; //让半径自适应窗口大小
g.setColor(Color.red); //背景设为红色
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.black); //画笔设为黑色
for(int thita=0;thita*3.14/1500<6.29;thita++){
int x=(int)(r*Math.cos(thita*3.14/100))+getWidth()/2, //根据圆心角thita的变化,给横坐标和纵坐标赋值
y=(int)(r*Math.sin(thita*3.14/100))+getHeight()/2; //圆心的位置也自适应居中。
g.drawLine(x,y,x,y); //画圆。也可以用drawString()打印一个英语的句号(.),效果差不多。

}
}
}
//下面的语句是为了在命令行情况下用appletviewer编译时可以找到这个类的一句话,不要删掉!
//<applet code=mycircle width=300 height=200></applet>
-----------------------------------------
附上截图:


解释得很清楚了,有问题大家交流交流。。。
如果把上述代码再改一下么变成下面。。。


import java.applet.*;
import java.awt.*;
import java.math.*;
public class mycircle extends Applet {
public void paint(Graphics g){
int width=getWidth(),height=getHeight(); //获取当前程序窗口的大小
int rx=2*width/5,ry=2*height/5;//让半径自适应窗口大小
g.setColor(Color.red); //背景设为红色
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.black); //画笔设为黑色
for(int thita=0;thita*3.14/1500<6.29;thita++){
int x=(int)(rx*Math.cos(thita*3.14/100))+getWidth()/2, //根据圆心角thita的变化,给横坐标和纵坐标赋值
y=(int)(ry*Math.sin(thita*3.14/100))+getHeight()/2; //圆心的位置也自适应居中。
g.drawLine(x,y,x,y); //画圆。也可以用drawString()打印一个英语的句号(.),效果差不多。

}
}
}
//下面的语句是为了在命令行情况下用appletviewer编译时可以找到这个类的一句话,不要删掉!
//<applet code=mycircle width=300 height=200></applet>

那么这个小程序就变成了很以在圆和椭圆之间连续变化的一个图形了,随着程序窗口的变化,该图形就会改变。。下面贴图。。


呵呵,我想大家都明白其中的道理,所以我就不多说了。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值