| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 698 人关注过本帖
标题:求助,做一个简单的画图程序。
只看楼主 加入收藏
freedom1101
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-4-12
结帖率:100%
收藏
 问题点数:0 回复次数:4 
求助,做一个简单的画图程序。
做一个简单的画图程序,画一个圆和椭圆,我增加了一个按钮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);
}
搜索更多相关主题的帖子: 画图 
2007-08-31 15:27
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
收藏
得分:0 
将画笔颜色设为背景色,重画一遍。。。
frame没有自己关闭的方法,要写window监听器,调用System.exit(0)来关闭窗口。。。
如果你用JFrame的话,只要一句话就OK了。frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

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

2007-08-31 17:36
freedom1101
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-4-12
收藏
得分:0 

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

2007-09-03 13:14
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
收藏
得分:0 
......清除是将画笔颜色设为背景色,重画一遍。。。

关闭窗口是用window监听器。。。。。
2007-09-04 08:27
liuyi900
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-9
收藏
得分:0 

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

2007-09-05 23:23
快速回复:求助,做一个简单的画图程序。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026343 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved