gsetColor(ColorBLUE); //设置颜色为蓝色
gdrawOval(100,100,40,40); //drawOval(int x,int y,int width ,int height) 可以用来画椭圆或者圆,前面x,y表示位置(x,y),后面的是椭圆中的(a,b);
import javaapplet;
import javaawt;
import javaawtevent;
public class Tester extends Applet implements ActionListener
{
Button btn1,btn2,btn3,btn4;
public void init(){
setLayout(null);
btn1=new Button("绘制直线");
btn2=new Button("绘制矩形");
btn3=new Button("绘制圆");
add(btn1);
add(btn2);
add(btn3);
btn1setBounds(10, 60, 60, 20);
btn2setBounds(10, 90, 60, 20);
btn3setBounds(10, 120, 60, 20);
btn1addActionListener(this);
btn2addActionListener(this);
btn3addActionListener(this);
validate();
setVisible(true);
}
public void start(){
}
public void actionPerformed(ActionEvent e)
{
Graphics g=thisgetGraphics();
if(egetSource()==btn1)
{
gdrawLine(200, 100, 300, 200);
}
else if(egetSource()==btn2)
{
gdrawRect(200, 250, 200, 200);
}
else
{
gdrawArc(200, 500, 200, 200, 0, 360);
}
}
}
Component c=
Graphics g=cgetGraphics();
Graphics类是抽象的,只能通过一个Component的实例获得Graphics类的实例
例:
Frame f=new Frame();
Graphics g=fgetGraphics();
还有,若要将所画的显示出来,则先要使Component可见
import javaawt;
import javaapplet;
public class DrawRound extends Applet implements Runnable {
int r;
int x,y;
public void init() {
x=(int)(Mathrandom()getWidth());//随机坐标
y=(int)(Mathrandom()getHeight());
setSize(800,800);
r=10;//初始半径=10
}
public void start() {
new Thread(this)start();//建立新线程
}
public void run() {
try {
while(true){
r+=10;
if(r==150){//当半径=150时重新定义坐标,同时半径等于初始状态10
r=10;
x=(int)(Mathrandom()getWidth()/2);
y=(int)(Mathrandom()getHeight()/2);
}
Threadsleep(500);//半径每隔05秒就自动+10
repaint();//每次半径变化时清空原来所画的圆
}
}
catch(Exception e) {}
}
public void paint(Graphics g) {
gsetColor(new Color((int)(Mathrandom()255), (int)(Mathrandom()255), (int)(Mathrandom()255)));//随机颜色
gfillOval(x,y,r,r);//画圆
}
}
import javaawt;
import javaapplet;
public class CircleDemo extends Applet
{
public void paint(Graphics g){
int x,y,r;
for(int i=1;i<=5;i++){
x=(int)(Mathrandom()1000) % 400;
y=(int)(Mathrandom()1000) % 300;
r=(int)(Mathrandom()1000) % 50;
gdrawOval(x-r,y-r,2r,2r);
}
}
}
这个程序非常的差劲,画圆的颜色无法直接设置,一旦改变窗口大小图就会消失,画大一点就会卡,还只能往右下方画圆。画圆的逻辑也是非常的不常规。
这种画图一般都要用BufferedImage,不知你这个程序是不知道正确的方法还是显摆用诡异的方法很复杂的实现很简单的功能。
Graphics g=getGraphics();
gsetColor(Coloryellow);
gsetXORMode(Colorblack);//把所有的**都画成黑色,同时把所有黑色画成**,把白色画成蓝色,把蓝色画成白色。(后面这个颜色组合是“不可预测”的)
if(status==1) gdrawOval(px1,py1,px2,py2); //如果正在拉动鼠标,把屏幕上的蓝色圆涂白,注意鼠标坐标用的是上次更新的
else
{px1=egetX();
py1=egetY();
status=1;
}
px2=Mathabs(egetX()-px1);//用新的鼠标坐标计算长径
py2=Mathabs(egetY()-py1);//用新的鼠标坐标计算宽径
gdrawOval(px1,py1,px2,py2);//在新的鼠标坐标画椭圆(把白色变成蓝色)
rpx1=px1;rpy1=py1;rpx2=px2;rpy2=py2;//保存坐标位置,好待会儿再把这个蓝圆涂白
import javaappletApplet;
import javaawtColor;
import javaawtFont;
import javaawtGraphics;
import javautilRandom;
public class Number8 extends Applet{
int x,y; //圆的位置
int W_H; //圆的大小
int R,G,B; //圆的颜色
Random rd = new Random();
public void init(){
thisresize(400, 300);
}
public void paint(Graphics g){
while ( true ){
W_H = rdnextInt(100);
x = rdnextInt(thisgetWidth());
y = rdnextInt(thisgetHeight());
R = rdnextInt(255);
G = rdnextInt(255);
B = rdnextInt(255);
gsetColor(Colorwhite);
gfillRect(0,0,thisgetWidth(),thisgetHeight());
Color color = new Color(R,G,B);
gsetColor(color);
gfillArc(x,y,W_H,W_H,0,360);
try {
Threadsleep(500);
} catch (InterruptedException e) {
eprintStackTrace();
}
}
}
}
朋友,上面的程序实现了你说的功能,你可以运行一下,看看效果,我给你运行过了,呵呵。
要是可以的话,记得多给我加分呀,呵呵,上面是调试通过的!!!!!
以上就是关于初学JAVA 要在网页显示中画个圆 要怎么写 一点不会啊全部的内容,包括:初学JAVA 要在网页显示中画个圆 要怎么写 一点不会啊、编写一个绘图java 小程序,用户点击某一按钮后,程序绘制相应的图形(如点击"画圆",则绘制圆形);、JAVA画圆等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)