畫圓一般通過繼承JPanel 或者JFrame ,通過調(diào)用panel或者frame中的Graphics實例完成畫圖。
創(chuàng)新互聯(lián)建站主要為客戶提供服務(wù)項目涵蓋了網(wǎng)頁視覺設(shè)計、VI標志設(shè)計、全網(wǎng)整合營銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式網(wǎng)站建設(shè)公司、成都做手機網(wǎng)站、微商城、網(wǎng)站托管及網(wǎng)站維護、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計、SEO優(yōu)化排名。設(shè)計、前端、后端三個建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標準。已經(jīng)為成都高空作業(yè)車租賃行業(yè)客戶提供了網(wǎng)站營銷服務(wù)。
java繪圖的基本原理:畫一個圓
import javax.swing.*;
import java.awt.*;
public class DrawCicle extends JFrame{MyPanel mp=null;public static void main(String[] args) {DrawCicle dc=new DrawCicle();}
public DrawCicle(){mp =new MyPanel();this.add(mp);this.setSize(300, 250);
this.setLocation(600, 300);this.setDefaultCloseOperation(this.EXIT_ON_CLOSE)this.setVisible(true);}}
你先想這道題的思路吧。
首先打印出圓形的話就是在一個60-60這種正方形里面話個圓,你先要知道要畫的點的位置對吧。算出所有的點打印出來。就是這個思路。然后是怎么算的問題了
public?class?SSS?{
public?static?void?main(String[]?args)?{
//半徑
int?r?=?30;
for?(int?y?=?0;?y?=?2?*?r;?y?+=?2)?{
long?x?=?Math.round(r?-?Math.sqrt(2?*?r?*?y?-?y?*?y));
long?longLength?=?2?*?(r?-?x);
for?(int?i?=?0;?i?=?x;?i++)?{
System.out.print('?');
}
System.out.print('*');
for?(int?j?=?0;?j?=?longLength;?j++)?{
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個參數(shù):
前面兩個圓的外切矩形左上角的坐標點,中間兩個是外切矩形的寬和高,倒數(shù)第二個是弧的起始角度,最后一個是弧的跨越角度。
靠,樓上的回答那么長啊,只要一個函數(shù),就是
drawOval(int
x,int
y,int
w,int
h);
這是是畫橢圓形的函數(shù),但是它也可以畫圓形。
比如
drawOval(100,100,50,50);
就在坐標50,50畫一個直徑100的圓,只要把,最后的2個參數(shù)設(shè)成一樣就是一個圓。要畫直徑200的話,就把最后2個參數(shù)設(shè)成200,200
一切OK了
public class Exam
{
public static void main(String[] args)
{
Circle c=new Circle(3,4,5);
System.out.printf("圓心:(%f,%f),半徑:%f,面積:%f",c.x,c.y,c.r,c.countArea());
}
}
class Circle
{
public Circle()
{
this(0,0,0);
}
public Circle(double x,double y,double r)
{
this.x=x;
this.y=y;
this.r=r;
}
public double countArea()
{
return Math.PI*r*r;
}
/*private*/public double x,y,r;
}
代碼如下:
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的圓.紅色. } } }