用java代码绘图,java绘图程序代码-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

用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画图用什么类

Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形等。

1. 画线

在窗口画一条线段,可以使用Graphics类的drawLine()方法:

drawLine(int x1,int y1,int x2,int y2)

例如,以下代码在点(3,3)与点(50,50)之间画线段,在点(100,100)处画一个点。

g.drawLine(3,3,50,50);//画一条线段 g.drawLine(100,100,100,100);//画一个点。

java调用自己的画图方法

可以调用draw方法, 但是你就这样写,无法直观的显示出来. 要想真的显示出来 ,你需要在面板上绘制,并添加到窗口上.

下面是参考代码

import java.awt.EventQueue;

import java.awt.Graphics;

import java.util.ArrayList;

import javax.swing.JFrame;

import javax.swing.JPanel;

//宇宙类 : 主窗口,用于显示数据

public class Test extends JFrame {

public Test() {

ArrayListStar stars = new ArrayList();

Star sun = new Star(120, 120);

stars.add(sun);

//stars.add(new Star(50, 50));//还可以添加其他星星

Sky sky = new Sky(stars);

add(sky);

setTitle("果壳中的宇宙");

setSize(380, 380);

setLocationRelativeTo(null);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

new Test().setVisible(true);

}

});

}

}

//天空类 : 可以有很多的星星 ,并且可以绘制出来

class Sky extends JPanel {

private ArrayListStar stars;//用于存放星星

public Sky(ArrayListStar stars) {

this.stars = stars;

}

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

for (Star star : stars) {

star.draw(g);//调用星星的draw方法 来绘制星星

}

}

}

//星星 类 : 可以设置 xy的位置

class Star {

int x, y;

public Star(int x, int y) { // 构造方法

this.x = x;

this.y = y;

}

public void draw(Graphics g) {

//g.drawRect() 这是绘制矩形的星星

g.drawOval(this.x, this.y, 50, 50);//绘制一个圆形的星星

}

}

用java编写绘图工具的代码

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

public class ResponseToMouse extends Applet implements ActionListener,MouseListener,MouseMotionListener

{

int xPos,yPos,k=0;

Button btnDraw,btnClean,btnErase;

public void init()

{

btnDraw = new Button("画图");

btnClean = new Button("清屏");

btnErase = new Button("擦除");

add(btnDraw);

add(btnClean);

add(btnErase);

btnDraw.addActionListener(this);

btnClean.addActionListener(this);

btnErase.addActionListener(this);

addMouseListener(this);

addMouseMotionListener(this);

}

public void paint(Graphics g)

{

if(k==1)

{

g.setColor(Color.red);

g.fillOval(xPos-5,yPos-5,10,10);

}

if(k==2)

{

super.update(g);

}

if(k==3)

{

g.setColor(Color.white);

g.fillOval(xPos-5,yPos-5,10,10);

}

}

public void actionPerformed(ActionEvent e){

if (e.getSource()==btnDraw)

k=1;

if(e.getSource()==btnClean){

k=2;

repaint();

}

if(e.getSource()==btnErase)

k=3;

}

public void mouseClicked(MouseEvent e)

{

}

public void mousePressed(MouseEvent e)

{

showStatus("鼠标键按下");

}

public void mouseReleased(MouseEvent e)

{

showStatus("鼠标键释放");

}

public void mouseEntered(MouseEvent e)

{

showStatus("鼠标进入");

}

public void mouseExited(MouseEvent e)

{

showStatus("鼠标移出");

}

public void mouseDragged(MouseEvent e)

{

xPos=e.getX();

yPos=e.getY();

repaint();

}

public void mouseMoved(MouseEvent e)

{

showStatus("鼠标移动");

}

public void update(Graphics g){

paint(g);

}

}

如何用java实现画图

使用Java的Graphics类进行绘图

Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形等

java 绘图程序

我基于你原来画图的方法,添加了事件触发的命令b[j].setActionCommand("b" + j);否则你不能在事件响应处理的方法中使用e.getActionCommand(),而且字符串的比较用equals方法比较好。现在可以运行了,你可以看一下:

import java.applet.Applet;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

public class drawing extends Applet implements ActionListener {

Button b[] = new Button[5];

String fontname = "仿宋_GB2312";

int style = Font.PLAIN;

int size = 24;

int index = 0;

Font myfont;

public void init() {

setSize(700,700);

myfont = new Font(fontname, style, size);

b[0] = new Button("扇形");

b[1] = new Button("圆形");

b[2] = new Button("三角形");

b[3] = new Button("长方形");

b[4] = new Button("椭圆形");

for (int j = 0; j b.length; j++) {

b[j].setBounds(10, 10, 50, 20);

b[j].addActionListener(this);

b[j].setActionCommand("b" + j);

add(b[j]);

}

}

public void actionPerformed(ActionEvent e) {

if (e.getActionCommand().equals("b0")) {

index = 0;

repaint();

}

if (e.getActionCommand().equals("b1")) {

index = 1;

repaint();

}

if (e.getActionCommand().equals("b2")) {

index = 2;

repaint();

}

if (e.getActionCommand().equals("b3")) {

index = 3;

repaint();

}

if (e.getActionCommand().equals("b4")) {

index = 4;

repaint();

}

}

public void paint(Graphics g) {

switch (index) {

case 0:

g.fillArc(0, 60, 80, 60, 30, 120);

break;

case 1:

g.drawOval( 300, 50, 60, 60);

break;

case 2:

Polygon filledPolygon = new Polygon();

filledPolygon.addPoint(380, 50);

filledPolygon.addPoint(380, 110);

filledPolygon.addPoint(450, 90);

g.drawPolygon(filledPolygon);

break;

case 3:

g.drawRect( 200, 50, 80, 60);

break;

case 4:

g.drawOval(100, 50, 80, 60);

break;

default:

g.fillArc(0, 60, 80, 60, 30, 120);

break;

}

}

/*

* public void paint(Graphics g) { g.fillArc( 0, 60, 80, 60, 30, 120);

* //绘制扇形 g.drawOval( 100, 50, 80, 60); g.drawRect( 200, 50, 80, 60);

* g.drawOval( 300, 50, 60, 60); Polygon filledPolygon=new Polygon();

* filledPolygon.addPoint(380,50); filledPolygon.addPoint(380,110);

* filledPolygon.addPoint(450,90); g.drawPolygon(filledPolygon); }

*/

}


标题名称:用java代码绘图,java绘图程序代码
文章出自:http://kswsj.cn/article/hcsgoe.html

其他资讯