当前位置: 代码迷 >> Java相关 >> 求助,做一个简单的画图程序。
  详细解决方案

求助,做一个简单的画图程序。

热度:348   发布时间:2007-08-31 15:27:09.0
求助,做一个简单的画图程序。
做一个简单的画图程序,画一个圆和椭圆,我增加了一个按钮clear,那要如何清除画的图形,这个命令代码我不会向各位高手请教??还有运行结束后,关闭时只有关闭了整个运行软件,程序才关闭这又是怎么回事?
代码如下:

import java.awt.*;
import java.awt.event.*;
public class Draw extends Frame implements ActionListener{
static Draw frm = new Draw();
static Button but1 = new Button("Draw circle");
static Button but2 = new Button("Draw oval");
static Button but3 = new Button("Clear");
int circle = 0;
public static void main (String arg[]){
frm.setTitle("DRAW程序");
frm.setSize(300,250);
frm.setLayout(null);
but1.setBounds(20,215,50,25);
but2.setBounds(100,215,50,25);
but3.setBounds(180,215,50,25);
frm.add(but1);
frm.add(but2);
frm.add(but3);
but1.addActionListener(frm);
but2.addActionListener(frm);
but3.addActionListener(frm);
frm.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
Button bt = (Button)e.getSource();
Button cl = (Button)e.getSource();


if (bt == but1) circle = 1;
else circle = 2;
Graphics g = getGraphics();
paint(g);
}
public void paint(Graphics g)
{
g.setFont(new Font("楷体",Font.ITALIC,20));
g.setColor(Color.red);
g.drawString("Drwa cricle or oval ",50,50);
if(circle == 1)
g.drawOval(100,90,70,70);
else if (circle ==2)
g.drawOval(80,60,70,120);
}
搜索更多相关的解决方案: 画图  

----------------解决方案--------------------------------------------------------
将画笔颜色设为背景色,重画一遍。。。
frame没有自己关闭的方法,要写window监听器,调用System.exit(0)来关闭窗口。。。
如果你用JFrame的话,只要一句话就OK了。frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

[此贴子已经被作者于2007-8-31 19:19:52编辑过]


----------------解决方案--------------------------------------------------------

我没有用jframe只是继承了frame,调用其中的方法进行调用画圆。运用window监听器的方法这样只能执行一次,我要的是能画一次或多次能直接清除画的图形,而不是关闭整个程序,还有其它的 方法吗?


----------------解决方案--------------------------------------------------------
......清除是将画笔颜色设为背景色,重画一遍。。。

关闭窗口是用window监听器。。。。。
----------------解决方案--------------------------------------------------------

在actionPerformed()方法里再加一个分支
if(bt=but3)
circle=0;
在paint()方法里也添加circle=0的分支 清除画面就行了


----------------解决方案--------------------------------------------------------
  相关解决方案