你的类继承Panel或JPanel了吧?
1 xxx.getGraphics().drawOval(0,0,10);
2 xxx.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent e){...}});其中xxx为继承Panel或JPanel类的实例
1 xxx.getGraphics().drawOval(0,0,10);
2 xxx.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent e){...}});其中xxx为继承Panel或JPanel类的实例
解决方案 »
- 这种问题有点钻牛角尖,相信想把JAVA学好学透的人都会喜欢。
- 看了好多帖子说J2SE学完后学J2EE,想知道大家说的J2EE具体是什么?
- 如何从BLOB字段获取文件类型?
- 数组
- Toolkit.getDefaultToolkit.createImage
- 我是JAVA初学者,有一个菜鸟级的问题想请教一下
- 在java中怎样用System.Text.Encoding.Default.GetString()方法了?
- 请问 Windows xp 中如何让 Applet 可以执行?
- 今天过了scjp ,特来方分。。。。
- 关于java的web服务器,请教高手...
- 为什么我下载了JDK安装后却在DOS下无法编译?听说要设置环境变量?那怎样设置呢?谢谢
- 怎樣將Big5碼的文本文件轉化為GB2312的??
1 xxx.getGraphics().drawOval(0,0,10);
2 xxx.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent e){...}});其中xxx为继承Panel或JPanel类的实例
而是class SketchView extends JComponent implements Observer
这个文件的唯一的类SketchView.java
在它之下还声明了一个类
class MouseHandler extends MouseInputAdapter
里面有public void mousePressed(MouseEvent e)方法来接收鼠标的单击
事件,并在这个方法里判断是单击的那个按钮,并做出反应。
不知道与你讲的是否一个作用。
这样所有东西都将重画,包括已画好的东西。
包括已画好的,那在repaint()方法中是不是只画出要改变的地方就行呢
已画好的就不用再画一遍了。
paint(Graphics g)方法,如下所示:
public void update(Graphics g)
{
paint(g);
}
这样的话只要在paint()方法中画出改变的地方就可以了。
因为repaint()其实是启动一个新的线程来调用update(),然后update()再调用paint()函数,而默认情况下调用update()将清除整个屏幕区域然后让paint()来重绘,所以只要直接调用paint()就可以不清除屏幕上以前画的图形了。