扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
import java.awt.Frame;
创新互联公司客户idc服务中心,提供绵阳电信机房、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。
import java.awt.Graphics;
public class S extends Frame{
private int x;
private int y;
private boolean drawOval;//为true时绘制
//测试入口函数
public static void main(String []args)
{
new S().print();
}
//构造函数,初始化x、y坐标,设置drawOval变量为false,设置窗体大小
public S()
{
x = 200;
y = 200;
drawOval = false;
this.setSize(400,400);
this.setVisible(true);
}
public void print(){
//在调用S类实例的print方法时,画一个以属性X,Y为起点的宽高为10的圆.
drawOval = true; //设置drawOval变量为true
repaint(); //调用刷新画面方法
}
public void paint(Graphics g)
{
//为true时绘制
if(drawOval)g.fillOval(x,y,10,10);
}
}
其实就是遍历每一个点,如果在圆形上,则输出#,不在圆形上,则输出空格。
代码如下:
float x = 14;
float y = 8;
float r = 5;
for (int i = 0; i 20; i++) {
for (int j = 0; j 20; j++) {
float result = (i - x) * (i - x) + (j - y) * (j - y) - r * r; // 圆心公式
if (result 5 result -5) { // 5 为精度范围
System.out.print("#");
} else {
System.out.print(" ");
}
}
System.out.println("");
}
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class TestDrawArc extends JFrame{
MyCanvas1 cnv;
public TestDrawArc(){
super("半圆");
cnv = new MyCanvas1();
this.add(cnv);
this.setSize(500, 500);
this.setVisible(true);
}
public static void main(String[] args) {
new TestDrawArc();
}
}
class MyCanvas1 extends Canvas{
public MyCanvas1(){
super();
}
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.red);
g.drawArc(50, 50, 300, 300, 0, 180);
}
}
drawArc有6个参数:
前面两个圆的外切矩形左上角的坐标点,中间两个是外切矩形的宽和高,倒数第二个是弧的起始角度,最后一个是弧的跨越角度。
代码如下:
import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class TestSw extends JFrame { public static void main(String[] args) { new TestSw(); } public TestSw(){ super("Test"); this.setSize(new Dimension(400,300)); this.setContentPane(new Mypane()); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } class Mypane extends JPanel{ public void paint(Graphics g) { super.paint(g); g.setColor(Color.red); g.setXORMode(Color.white); g.drawArc(20, 20, 100, 100, 0, 360); ///此方法将画一个直径100的圆.红色. } } }
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流