请朋友.帮个忙..
我用的是JCreator2.5 版本...
想写一个动态的图片变化 . 之前建立了一个Base Java Applet 程序.
然后写了如下的代码:
import java.awt.*;
import java.applet.*;
public class ShowPicture extends Applet {
Image [] m_images;
int totalImages = 12;
int currentImage = 0 ;
public void init() {
m_images = new Image[totalImages];
for(int i=0;i<totalImages;i++){
m_images[i] = getImage(getDocumentBase(),"images\\"+i+".gif");
}
}
public void start(){
currentImage = 0;
}
public void paint(Graphics g) {
g.drawImage(m_images[currentImage],50,50,this);
currentImage = ++currentImage % totalImages ;
try{
Thread.sleep(1000);
}
catch(InterruptedException e){
showStatus(e.toString());
}
repaint();
}
}
然后 我在class目录下建立了一个images子目录 子目录中存放了1到12张250*250*24B .gif格式的的图片 //想问问.文件格式为.jpg..其它的文件格式行不行..
编译时提示成功 但是用appletviewer 运行时..却不能出现图片...
小弟我自学这个感到很吃力...想请大侠帮个忙
我用的是JCreator2.5 版本...
想写一个动态的图片变化 . 之前建立了一个Base Java Applet 程序.
然后写了如下的代码:
import java.awt.*;
import java.applet.*;
public class ShowPicture extends Applet {
Image [] m_images;
int totalImages = 12;
int currentImage = 0 ;
public void init() {
m_images = new Image[totalImages];
for(int i=0;i<totalImages;i++){
m_images[i] = getImage(getDocumentBase(),"images\\"+i+".gif");
}
}
public void start(){
currentImage = 0;
}
public void paint(Graphics g) {
g.drawImage(m_images[currentImage],50,50,this);
currentImage = ++currentImage % totalImages ;
try{
Thread.sleep(1000);
}
catch(InterruptedException e){
showStatus(e.toString());
}
repaint();
}
}
然后 我在class目录下建立了一个images子目录 子目录中存放了1到12张250*250*24B .gif格式的的图片 //想问问.文件格式为.jpg..其它的文件格式行不行..
编译时提示成功 但是用appletviewer 运行时..却不能出现图片...
小弟我自学这个感到很吃力...想请大侠帮个忙
这句不要用getDocumentBase,这是得到这个applet的class所嵌入的那个html文件的绝对路径+html文件名,应该用getCodeBase(),另外那个\用/代替吧所以应该是
m_images[i] = getImage(getCodeBase(),"images/"+i+".gif");
\用/代替,好象java里的文件路径用的是ie的那一类的
而不是widows的标准路径格式
我用的是JB,但是应该不关编译环境的事把
同样我在class目录下建立了一个images子目录,我放了两张图片
并且将m_images[i] = getImage(getDocumentBase(),"images\\"+i+".gif");
这句,改为:m_images[i] = getImage(getDocumentBase(), "images/" + i + ".gif");
运行是成功的,
就是\\用/代替的问题啊
好象要过1秒才开始显示
后来..我自己又认真的做了一下..得到如下的经验:
* 其中图片中...要以".gif "文件格式为结尾即定义中的文件格式
* 其中定义了 在For 语句中 int i=0 定义了要以第 0 张图片为开始 因此 Images 中应该以 * 0 张为起点
* getDocumentBase(), 与getCodeBase() 两种格式都可以 区别..小弟我再认真看看
* // 与 \ 没有什么区别..至少在图片中没什么区别public class TestPicture extends Applet {
Image [] m_images;
int totalImages = 12;
int currentImage = 0 ;
public void init() {
m_images = new Image[totalImages];
for(int i=0;i<totalImages;i++){
m_images[i] = getImage(getDocumentBase(),"images\\"+i+".gif");
}
}
public void start(){
currentImage = 0;
}
public void paint(Graphics g) {
g.drawImage(m_images[currentImage],50,50,this);
currentImage = ++currentImage % totalImages ;
try{
Thread.sleep(1000);
}
catch(InterruptedException e){
showStatus(e.toString());
}
repaint();
}
}