「java画圆拖」java如何用代码画圆

博主:adminadmin 2022-11-25 00:05:08 57

本篇文章给大家谈谈java画圆拖,以及java如何用代码画圆对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

在Java中如何用程序画一个圆

使用java画圆要用到绘图类Graphics,下面是实例代码和运行效果:

package com.dikea.demo01;

import java.awt.*;

import javax.swing.*;

// java绘图原理

public class demo_01  extends JFrame {

MyPanel mp = null;

public static void main(String[] args) {

// TODO 自动生成的方法存根

demo_01 demo01 = new demo_01();

}

public demo_01(){

mp = new MyPanel();

this.add(mp);

this.setSize(400, 300);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

// 定义一个MyPanel面板,用于绘图区域

class MyPanel extends JPanel{

//覆盖JPanel

// Graphics 是绘图的重要类,可以理解成一支画笔

public void paint(Graphics g){

//  1. 调用父类函数完成初始化任务

//  这句话不可以少

super.paint(g);

// 先画出一个圆圈

g.drawOval(100, 100, 30, 30);

}

}

代码复制进ide编程工具,运行效果如下:

java 画了一个圆,怎么让它上下左右移动啊?

移动圆,改变它的圆心即可,可以通过给圆心设置一个运动轨迹函数实现,实例代码为;

public class joinDemo1 extends JFrame

{

 //继承    

 private int x=100, y=100, r=100; 

 

 //初始值   

 public joinDemo1() 

 {        

  super("小图形");       

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        

        

  this.setSize(800, 600);        

  this.setVisible(true); 

  Thread thread=new Thread(new Graphicss());

  thread.start();

}    

 public void paint(Graphics g)

 {        

  super.paint(g);        

  g.fillOval(x, y, r, r);    

 }    

 public static void main(String[] args)

 {        

  new joinDemo1();    

 }     

 

 class Graphicss implements Runnable{

  @Override

  public void run() {

   // TODO Auto-generated method stub

for (int j = 0; j = 240; j++) {

      revalidate();

  // System.out.println(j);                

                try {

                    Thread.sleep(1000);// 当前线程休眠0.01秒

                    

                } catch (InterruptedException e) {

                    e.printStackTrace();

                }

   

                y=y+j;

     repaint();           

                

}

}

}

}

用java画一个圆

import java.awt.*;

import java.applet.*;

import java.awt.event.*;

class MyCanvas extends Canvas

{

int x,y,r,n;

int x0,y0;

MyCanvas()

{

setSize(100,100);

setBackground(Color.red);

}

public void setX(int x)

{

this.x=x;

}

public void setY(int y)

{

this.y=y;

}

public void setR(int r)

{

this.r=r;

}

public void setN(int n)

{

this.n=n;

}

public void paint(Graphics g1)

{

for(int i=0;i=360;i=i+360/n)

{

x0 = (int)(x+r*Math.cos(i));

y0 = (int)(y+r*Math.sin(i));

g1.drawString("*",x0,y0);}

}

}

public class e1 extends Applet implements ActionListener

{

MyCanvas canvas;

TextField inputR,inputX,inputY,inputN;

Label label1,label2,label3;

Button b1,b2;

public void init()

{

canvas = new MyCanvas();

inputR = new TextField(6);

inputX = new TextField(6);

inputY = new TextField(6);

inputN = new TextField(6);

b1 = new Button("确定");

b1.addActionListener(this);

label1 = new Label("输入位置坐标:");

label2 = new Label("输入半径:");

label3 = new Label("输入要打印的*数:");

add(label1);

add(inputX);

add(inputY);

add(label2);

add(inputR);

add(label3);

add(inputN);

add(b1);

add(canvas);

}

public void actionPerformed(ActionEvent e)

{

int x=0,y=0,n=0,r=0;

try

{

x=Integer.valueOf(inputX.getText()).intValue();

y=Integer.valueOf(inputY.getText()).intValue();

n=Integer.valueOf(inputN.getText()).intValue();

r=Integer.valueOf(inputR.getText()).intValue();

canvas.setX(x);

canvas.setY(y);

canvas.setR(r);

canvas.setN(n);

canvas.repaint();

}

catch(NumberFormatException ee)

{

x = 0;

y = 0;

r = 0;

n = 0;

}

}

}

public void draw(Graphics2D g) {

g.setColor(color);//设置颜色

g.setStroke(stroke);//宽度

int x, y, w, h;

if (startX endX) {//以下的startx 、endx都是由鼠标拖 动事件得到

x = endX;

w = startX - endX;

} else {

x = startX;

w = endX - startX;

}

if (startY endY) {

y = endY;

h = startY - endY;

} else {

y = startY;

h = endY - startY;

}

g.drawOval(x, y, w, h);

}

求java通过拖动鼠标来画一个圆的代码,要求拖动鼠标时圆的大小随拖动鼠标的大小变化,每画一个圆前面

代码的话楼主自己写吧,不难的。关键是用到几点。

1:java容器,例如ArrayList

2:Jframe类,其中调用Graphics类,并且添加鼠标单机和拖动的事件监听响应函数。

用java代码 画圆类

import java.awt.*;

import java.applet.*;

import java.awt.event.*;

class MyCanvas extends Canvas

{

int x,y,r,n;

int x0,y0;

MyCanvas()

{

setSize(圆心位置,圆心位置);

setBackground(Color.red);

}

public void setX(int x)

{

this.x=x;

}

public void setY(int y)

{

this.y=y;

}

public void setR(int r)

{

this.r=r;

}

public void setN(int n)

{

this.n=n;

}

public void paint(Graphics g1)

{

for(int i=0;i=360;i=i+360/n)

{

x0 = (int)(x+r*Math.cos(i));

y0 = (int)(y+r*Math.sin(i));

g1.drawString("*",x0,y0);}

}

}

public class e1 extends Applet implements ActionListener

{

MyCanvas canvas;

TextField inputR,inputX,inputY,inputN;

Label label1,label2,label3;

Button b1,b2;

public void init()

{

canvas = new MyCanvas();

inputR = new TextField(6);

inputX = new TextField(6);

inputY = new TextField(6);

inputN = new TextField(6);

b1 = new Button("确定");

b1.addActionListener(this);

label1 = new Label("输入位置坐标:");

label2 = new Label("输入半径:");

label3 = new Label("输入要打印的*数:");

add(label1);

add(inputX);

add(inputY);

add(label2);

add(inputR);

add(label3);

add(inputN);

add(b1);

add(canvas);

}

public void actionPerformed(ActionEvent e)

{

int x=0,y=0,n=0,r=0;

try

{

x=Integer.valueOf(inputX.getText()).intValue();

y=Integer.valueOf(inputY.getText()).intValue();

n=Integer.valueOf(inputN.getText()).intValue();

r=Integer.valueOf(inputR.getText()).intValue();

canvas.setX(x);

canvas.setY(y);

canvas.setR(r);

canvas.setN(n);

canvas.repaint();

}

catch(NumberFormatException ee)

{

x = 0;

y = 0;

r = 0;

n = 0;

}

}

}

java画圆拖的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java如何用代码画圆、java画圆拖的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。