Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将ImageIcon添加到JFrame?_Java_Swing_Jframe_Jlabel_Imageicon - Fatal编程技术网

Java 如何将ImageIcon添加到JFrame?

Java 如何将ImageIcon添加到JFrame?,java,swing,jframe,jlabel,imageicon,Java,Swing,Jframe,Jlabel,Imageicon,我试图添加一个图像到一帧,但它似乎不工作。由ImageIcon从指定文件创建的图像。图像文件位于seam目录中,java文件存在 import java.awt.BorderLayout; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class image { public static void main(String args

我试图添加一个图像到一帧,但它似乎不工作。由ImageIcon从指定文件创建的图像。图像文件位于seam目录中,java文件存在

import java.awt.BorderLayout;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

    public class image {

        public static void main(String args[])
        {
            TimeFrame frame = new TimeFrame();
        }
    }

    class TimeFrame extends JFrame
    {
        //Image icon = Toolkit.getDefaultToolkit().getImage("me.jpg");
        ImageIcon icon = new ImageIcon("me.jpg");
        JLabel label = new JLabel(icon);
        public TimeFrame(){
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setTitle("My Frame");
            setSize(500,400);
            //this.setIconImage(icon);
            add(label,BorderLayout.CENTER);
            setVisible(true);
        }


    }

如果图标位于
时间段
java文件旁边,则应使用

java.net.URL imgUrl = getClass().getResource("me.jpg");
ImageIcon icon = new ImageIcon(imgUrl);

您(可能)正在您的工作目录中查找它,您可以通过

System.out.println(System.getProperty("user.dir"));
你会试试这个吗

 ImageIcon ImageIcon = new ImageIcon("me.jpg");
    Image Image = ImageIcon.getImage();
    this.setIconImage(Image);

只需将目录更改为“src/me.jpg”

,因为文档中说getResource(…)会查找具有给定名称的资源。如果找不到具有此名称的资源,此方法将返回null…但我仍然不确定它以前为什么不工作。。。我使用了这个,它工作得很好:Image=ImageIO.read(新文件(“SydneyOperaHouse.jpg”);10月23日00:24:38 MacBook-Pro.local java[592]:CGContextGetCTM:无效上下文0x0 10月23日00:24:38 MacBook-Pro.local java[592]:CGContextSetBaseCTM:无效上下文0x0 10月23日00:24:38 MacBook-Pro.local java[592]:CGContextGetCTM:无效上下文0x0 10月23日00:24:38 MacBook-Pro.local java[592]:CGContextSetBaseCTM:invalid context 0x0如果您是手动操作(不使用IDE),请查看如何执行此操作并获取更多说明。
 ImageIcon ImageIcon = new ImageIcon("me.jpg");
    Image Image = ImageIcon.getImage();
    this.setIconImage(Image);