在线等,请问如何画这几个同心圆?

whwjn 2003-12-27 11:41:16
编写一个画6个同心圆的程序,它们之间的间隔为12像素。
请问该如何做?谢谢
...全文
160 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sysmaster 2003-12-28
  • 打赏
  • 举报
回复
哦,没看清题目:
import java.awt.*;
import java.applet.Applet;

public class aa extends Applet
{
int r,i;
public void init()
{
r=50;
i=1;
}
public void paint(Graphics g)
{
for(i=1;i<7;i++)
{
Color c = new Color(i*10,i*2,i*8);
g.setXORMode(c);
g.fillOval(200-i*6,200-i*6,r+i*12,r+i*12);
}
}
}
sysmaster 2003-12-28
  • 打赏
  • 举报
回复
import java.awt.*;
import java.applet.Applet;

public class aa extends Applet
{
int r,i;
public void init()
{
r=50;
i=1;
}
public void paint(Graphics g)
{
for(i=1;i<11;i++)
{
Color c = new Color(i*10,i*2,i*8);
g.setXORMode(c);
g.fillOval(200-i*5,200-i*5,r+i*10,r+i*10);
}
}
}
mq612 2003-12-28
  • 打赏
  • 举报
回复
方法很多了,这是用Application写的,在JPanel中画图,可以参考一下。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.WindowEvent;

class Test {
JFrame frame;
JPanel pane;

public Test() {
jbInit();
}

public void jbInit() {
frame = new JFrame("");
pane = new JPanel(){
public void paint(Graphics g){
for(int i = 0;i<12;i++){
if(i%2==0){
g.setColor(new Color(255, 0, 0));
}else{
g.setColor(new Color(255,255,255));
}
g.fillOval(10+i*12, 10+i*12, 280-i*2*12, 280-i*2*12);
if(i%2==0){
g.setColor(new Color(255,255,255));
g.drawString(i/2+1 + "", 145, 22 + i * 12);
}
}
}
};
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
});
frame.getContentPane().add(pane, BorderLayout.CENTER);
frame.setLocation(300,300);
frame.setSize(300, 360);
frame.setVisible(true);
}

public static void main(String[] args) {
new Test();
}

}


<------ 树欲静而风不止 ------>

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧