图像不会出现在我的Java小程序 [英] images do not appear on my java applet

查看:135
本文介绍了图像不会出现在我的Java小程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嘿,我试图创建一个视频游戏,我测试,看看我是否可以做一个精灵或图像上出现的小程序,我问之前,我的同事和教授的帮助,但他们不似乎帮助。我不知道如果我在错误的位置,或者,如果我的code被窃听有图像,但我会AP preciate如果有人在这谢谢了一下!哦!顺便说一句,我在编写Java和我使用Eclipse JUNO。

 在此输入code包MEH;
进口java.awt中的*。
进口javax.swing.JApplet中;
进口javax.swing.ImageIcon中;
公共类抽奖扩展JApplet的{
    公共静态无效的主要(字串[] args)
    {
        绘制测试=新绘图();
    }
    私人形象exImage;
    私人布尔imagesLoaded;    公共无效的run()
    {        imagesLoaded = FALSE;        尝试
        {
            loadImages();
            尝试
            {
                视频下载(10000);            }
            赶上(InterruptedException的前){}
        }
        最后{}
    }
    公共无效loadImages()
    {
        exImage =的LoadImage(C:/用户/温度/工作区/从零开始/斌/ Ma_rn_0);
        imagesLoaded = TRUE;
        重绘();
    }
    私人形象的LoadImage(字符串文件名)
    {
        返回新的ImageIcon(文件名).getImage();
    }
    公共无效漆(图形G)
    {
        如果(G的instanceof的Graphics2D)
        {
            Graphics2D的G2 =(Graphics2D的)克;
            g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
        }
        如果(imagesLoaded)
        {
            的drawImage(克,exImage,0,0,NULL);
        }
        其他
        {
            g.drawString(载入中...,5,12);
        }
    }    公共无效的drawImage(图形克,图片形象,诠释的x,INT Y,串标题)
    {
        g.drawImage(图像,X,Y,NULL);
        g.drawString(标题,X + 5,Y + 12 + image.getHeight(NULL));
    }}


解决方案

除非他们签署,小应用程序只能从它们的源是同一个位置加载图像。在这里,你正试图从本地磁盘加载图像。对于小应用程序资源的所有初始化应该从的init 方法来实现。图片可从它们部署在同一个JAR文件被加载为资源。你可以做

 图像exImage = ImageIO.read(的getClass()。的getResourceAsStream(图像/ myImage.jpg这个参数))

Hey I'm trying to create a video game and I'm testing to see if I can make a sprite or image appear on the applet I've asked for help before from my peers and professor, but they don't seem to help. I don't know if I have the image in the wrong location or if my code is bugged, but I would appreciate if someone took a look at it Thanks! Oh! by the way I'm programming in Java and I'm using 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));
    }

}

解决方案

Unless they are signed, applets can only load images from the same location from where they originated. Here you are attempting to load an image from the local disk. All initialisation for applet resources should be done from the init method. Images can be loaded as resources from the same JAR file from which they are deployed. You could do

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

这篇关于图像不会出现在我的Java小程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆