繁体   English   中英

图像未出现在我的Java小程序中

[英]images do not appear on my java applet

嘿,我正在尝试创建一个视频游戏,并且正在测试是否可以在我的同行和教授之前寻求帮助的小程序上显示精灵或图像,但是它们似乎没有帮助。 我不知道图像是否放置在错误的位置,或者代码是否有错误,但如果有人看过,我将不胜感激! 哦! 顺便说一下,我正在用Java编程,而我正在使用Eclipse JUNO。

enter code here

package meh;
import java.awt.*;
import javax.swing.JApplet;
import javax.swing.ImageIcon;


public class Draw  extends JApplet{
    public static void main(String[] args)
    {
        Draw test = new Draw();


    }
    private Image exImage;
    private boolean imagesLoaded;

    public void run()
    {

        imagesLoaded = false;

        try
        {
            loadImages();
            try
            {
                Thread.sleep(10000);

            }
            catch(InterruptedException ex){}
        }
        finally{}


    }
    public void loadImages()
    {
        exImage = loadImage("C:/Users/Temp/workspace/From Scratch/bin/Ma_rn_0");
        imagesLoaded = true;
        repaint();
    }
    private Image loadImage(String fileName)
    {
        return new ImageIcon(fileName).getImage();
    }
    public void paint(Graphics g)
    {
        if(g instanceof Graphics2D)
        {
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
        }
        if(imagesLoaded)
        {
            drawImage(g, exImage,0,0, null);
        }
        else
        {
            g.drawString("Loading...", 5, 12);
        }
    }

    public void drawImage(Graphics g, Image image, int x, int y, String caption)
    {
        g.drawImage(image, x, y, null);
        g.drawString(caption, x+5, y + 12 +image.getHeight(null));
    }

}

除非经过签名,否则小程序只能从其原始位置加载相同位置的图像。 在这里,您尝试从本地磁盘加载映像。 applet资源的所有初始化都应通过init方法完成。 可以从部署映像的同一JAR文件中将映像作为资源加载。 你可以做

Image exImage = ImageIO.read(getClass().getResourceAsStream("images/MyImage.jpg"))

1个public static void main(String[] args)

Applet不应该具有main() ,它使用initstartstopdestroy

http://docs.oracle.com/javase/tutorial/deployment/applet/getStarted.html

2尝试了解EDT概念

3不要覆盖paint方法

4使用ImageIO加载图像

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM