求解JApplet 中的update()方法为何没有调用?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TMouse extends JApplet implements MouseListener{
Container con;
int width,height;
int x,y;
int flag;
public void init(){
con=this.getContentPane();
x=y=0;
width=height=2;
flag=0;
con.addMouseListener(this);
}
public void update(Graphics g){
g.setColor(this.getBackground());
g.fillRect(0,0,
getWidth(),
getHeight());
paint(g);
}
public void paint(Graphics g){
g.setColor(Color.blue);
g.drawString("Click the MouseButton ....",5,20);
g.setColor(Color.red);
if(flag==1)
g.drawString("Mouse Entered Applet",5,80);
}
public void mouseEntered(MouseEvent me){
flag=1;
repaint();
}
public void mouseExited(MouseEvent me){
flag=2;
repaint();
}
public void mouseClicked(MouseEvent me){
flag=3;
x=me.getX();
y=me.getY();
repaint();
}
public void mousePressed(MouseEvent me){
flag=4;
x=me.getX();
y=me.getY();
repaint();
}
public void mouseReleased(MouseEvent me){
flag=5;
x=me.getX();
y=me.getY();
repaint();
}
}
/*
<Applet Code=TMouse width=400 height=200>
</Applet>
*/
内容没有被覆盖啊,后来在update()中 加入了打印语句,也未见执行,
repaint() ->update()->paint() 应该是这个顺序的,可是为何不见update()方法的执行呢?
import java.awt.*;
import java.awt.event.*;
public class TMouse extends JApplet implements MouseListener{
Container con;
int width,height;
int x,y;
int flag;
public void init(){
con=this.getContentPane();
x=y=0;
width=height=2;
flag=0;
con.addMouseListener(this);
}
public void update(Graphics g){
g.setColor(this.getBackground());
g.fillRect(0,0,
getWidth(),
getHeight());
paint(g);
}
public void paint(Graphics g){
g.setColor(Color.blue);
g.drawString("Click the MouseButton ....",5,20);
g.setColor(Color.red);
if(flag==1)
g.drawString("Mouse Entered Applet",5,80);
}
public void mouseEntered(MouseEvent me){
flag=1;
repaint();
}
public void mouseExited(MouseEvent me){
flag=2;
repaint();
}
public void mouseClicked(MouseEvent me){
flag=3;
x=me.getX();
y=me.getY();
repaint();
}
public void mousePressed(MouseEvent me){
flag=4;
x=me.getX();
y=me.getY();
repaint();
}
public void mouseReleased(MouseEvent me){
flag=5;
x=me.getX();
y=me.getY();
repaint();
}
}
/*
<Applet Code=TMouse width=400 height=200>
</Applet>
*/
内容没有被覆盖啊,后来在update()中 加入了打印语句,也未见执行,
repaint() ->update()->paint() 应该是这个顺序的,可是为何不见update()方法的执行呢?
...全文
相关推荐
【精美排版】java计算机二级测验笔记.docx
**方法调用**:当Applet被其他页面覆盖时,调用`stop()`方法;关闭浏览器时,调用`destroy()`。6.
第18章音乐播放1——小程序.ppt
这通常通过创建Image对象,然后在`paint(Graphics g)`方法中调用`g.drawImage()`来实现。
java计算机二级考试笔记.pdf
:paint()、repaint()、update()* 在 Applet 中先调用 init() 完成所必须的初始化工作* 在 HTML 文件的 <Applet> 标志,至少需要指定 Applet 子类的名称以及在浏览器中的显示大小
Java小程序数据库访问方法和实例.zip
通过`Class.forName()`方法加载驱动,然后调用`DriverManager.getConnection()`创建连接。3.
java Swing写的一个流星雨
我们可以使用javax.swing.Timer来控制每帧的间隔,当定时器触发时,更新所有流星的位置,然后调用repaint()方法使窗口重绘,展示流星的新位置。


Java SE
