java 绘图程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 绘图程序相关的知识,希望对你有一定的参考价值。

步骤:
1.进入Java编程环境;
2. 新建一个Java文件,命名为drawing. java;
3. 编写init()方法,并向界面添加各种需要的组件,如按钮;
4. 编写事件方法响应按钮点击事件,确定绘制何种图形;
5. 编写paint()方法根据要求绘制图形;
6. 编写html程序使之能运行drawing. java;
7.运行drawing. java,检查和调试程序。
要求:
1. 必须编写成Java Applet程序;
2. 绘制至少2种以上简单图形;
3. 能允许通过点击不同的按钮绘制不同的图形;
4. 根据java applet生命周期、事件响应方式等写出实验报告。

下面是我的程序,帮我改改吧~谢谢大家了~
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class drawing extends Applet implements ActionListener

Button b[] = new Button[5];
String fontname = "仿宋_GB2312";
int style = Font.PLAIN;
int size = 24;
Font myfont;
public void init()

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);
add(b[j]);



public void actionPerformed(ActionEvent e)

if(e.getActionCommand()=="扇形")

public void paint(Graphics g)

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




/*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);

*/


谢谢啦~~

我基于你原来画图的方法,添加了事件触发的命令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);
*/
参考技术A 符串的比较用equals方法比较好

以上是关于java 绘图程序的主要内容,如果未能解决你的问题,请参考以下文章

Java程序设计图形用户界面

Java程序设计图形用户界面

java绘图的问题。 运行后没有BUG,但是不显示图片,求高手指点。谢谢

如何在 JPanel 中绘图? (摇摆/图形Java)

请问怎么用Java程序调用CAD进行参数化绘图,需要做哪些工作呢,谢谢!

Java绘图