当前位置: 技术问答>java相关
在canvas上显示一个.gif图形
来源: 互联网 发布时间:2015-09-01
本文导语: 代码如下 import java.awt.*; import java.applet.*; class ScrollableCanvas extends Canvas { Image image; int tx = 0; int ty = 0; ScrollableCanvas(Image img) { image = img; ...
代码如下
import java.awt.*;
import java.applet.*;
class ScrollableCanvas extends Canvas {
Image image;
int tx = 0;
int ty = 0;
ScrollableCanvas(Image img) {
image = img;
}
public void paint(Graphics g){
g.translate(-tx, -ty);
g.drawImage(image, 0, 0,this);
}
}
public class test_1 extends Applet {
ScrollableCanvas canvas;
String imageFile = "D:/im.gif";
public void init() {
Image img;
img = getImage(getCodeBase(), imageFile);
canvas = new ScrollableCanvas(img);
setLayout(new BorderLayout());
add("Center", canvas);
}
}
运行后,图形却看不到,这段代码有什么问题呀?
import java.awt.*;
import java.applet.*;
class ScrollableCanvas extends Canvas {
Image image;
int tx = 0;
int ty = 0;
ScrollableCanvas(Image img) {
image = img;
}
public void paint(Graphics g){
g.translate(-tx, -ty);
g.drawImage(image, 0, 0,this);
}
}
public class test_1 extends Applet {
ScrollableCanvas canvas;
String imageFile = "D:/im.gif";
public void init() {
Image img;
img = getImage(getCodeBase(), imageFile);
canvas = new ScrollableCanvas(img);
setLayout(new BorderLayout());
add("Center", canvas);
}
}
运行后,图形却看不到,这段代码有什么问题呀?
|
你的图片到底放在那个目录下面?
既然你的程序中用了 img=getImage(getCodeBase(),imageFile); 的话,那么你的图片就应该放在你的代码文件的同一目录下面,而且上面的imageFile也要相应的改成 String imageFile="im.gif";
你再试试行不行.
既然你的程序中用了 img=getImage(getCodeBase(),imageFile); 的话,那么你的图片就应该放在你的代码文件的同一目录下面,而且上面的imageFile也要相应的改成 String imageFile="im.gif";
你再试试行不行.
|
getCodeBase()就是得到源碼的路徑,你再加個"D:/im.gif"當然不對了,這時候該用相對路徑