swing是自动支持双缓冲的,你的绘图代码应该加在public void paintComponent(Graphics g) {
super.paintCumponent(g); // add your code here.
g.drawImage(...);
}否则在重绘的时候就有可能被覆盖掉。这点和AWT不同。
super.paintCumponent(g); // add your code here.
g.drawImage(...);
}否则在重绘的时候就有可能被覆盖掉。这点和AWT不同。
解决方案 »
- MS Java 转换成 Sun Java
- Java问题。大家帮帮看下
- 如何在TimerTask中使用传入的connection对象
- hashmap的put怎么用,我想输入张三,和99两个值。
- 高手请进:Java中如何实现2个int型整数的交换函数swap?
- 怎样故意让FileOutputStream.close()抛出异常?
- 熟悉Vector类的高手请进,急!!!
- 如果想做网络程序员……应学哪方面的语言呢?
- 高手帮忙,十万火急
- 谁有JAVA程序设计1001例???
- jbuilder for linux
- jcreator运行execute时说Invalid command line. Error : Invalid path
{
private Image mainMapImage; //主地图
private Image eagleMapImage; //鹰眼地图 public ImagePanel(){
}/*
public void paint(Graphics g){
this.loadPic();
}
*/
public void paintComponent(Graphics g) {
System.out.println("paintComponent");
super.paintComponent(g);
loadPic(); }
public void loadPic() {
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(mainMapImage, 0);
tracker.addImage(eagleMapImage, 1);
try {
tracker.waitForID(0);
tracker.waitForID(1);
} catch (InterruptedException ex) { }
this.getGraphics().drawImage(mainMapImage,1,1,300,200,this);
this.getGraphics().drawImage(eagleMapImage,1,200,100,80,this);
} public void setMainMapImage(Image mainMapImage) {
this.mainMapImage = mainMapImage;
}
public void setEagleMapImage(Image eagleMapImage) {
this.eagleMapImage = eagleMapImage;
}
}
this.mainMapImage = mainMapImage;
}
public void setEagleMapImage(Image eagleMapImage) {
this.eagleMapImage = eagleMapImage;
}这是别的函数里调用的么?应该不会有问题才对,