【问题标题】:ImageIcon not getting loaded in SwingImageIcon 未在 Swing 中加载
【发布时间】:2016-03-08 12:36:05
【问题描述】:

问题是当我运行以下 swing 程序时图像没有加载。 我有一个名为“sWINGPRAC”的包,其中有一个 JAVA 文件 IconLabelDemo.java。我已确保图像“myIcon.gif”位于同一目录中。 IconLabelDemo.java.

package sWINGPRAC;

import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;


public class IconLabelDemo {

        public IconLabelDemo() {

            JFrame jfrm = new JFrame("ImageIcon");
            jfrm.getContentPane().setLayout(new GridLayout(4, 1));
            jfrm.setSize(250, 300);
            jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            ImageIcon img = new ImageIcon("myIcon.gif");

            JLabel jlabIcon = new JLabel(img);

            JLabel jlabIconTxt = new JLabel("Default iCon and text position",img , SwingConstants.CENTER);

            JLabel jlabIconTxt2 = new JLabel("Text left of icon",img,SwingConstants.CENTER);
            jlabIconTxt2.setHorizontalTextPosition(SwingConstants.LEFT);

            JLabel jlabIconTxt3 = new JLabel("Text Over ICon",img,SwingConstants.CENTER);
            jlabIconTxt3.setVerticalTextPosition(SwingConstants.TOP);


            jfrm.add(jlabIcon);
            jfrm.add(jlabIconTxt);
            jfrm.add(jlabIconTxt2);
            jfrm.add(jlabIconTxt3);

            jfrm.setVisible(true);

        }
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {

                @Override
                public void run() {

                    new IconLabelDemo();

                }
            });
        }
}

【问题讨论】:

  • 请将标题更改为能概括您的问题的有意义的标题。
  • 感谢您的宝贵建议。希望这能帮助我在未来得到更好的答案。
  • 我刚刚尝试了您的代码,它对我有用(我在框架内看到 4 只“太阳熊”)。你是从同一个目录执行程序,类和图像文件都存储了吗?
  • 是的!我希望你在 eclipse 中尝试过。

标签: java eclipse swing


【解决方案1】:

Nadir 的评论一针见血。您使用“myIcon.gif”作为文件名,这意味着它必须位于执行程序的目录的本地。如果要将图标与库打包,则需要考虑使用资源加载器。看看这个问题:How to correctly get image from 'Resources' folder in NetBeans(它也应该适用于 Eclipse)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-16
    • 1970-01-01
    • 2018-11-03
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多