Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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 我的代码不显示帧中的图像_Java_Image_Swing_Jbutton_Embedded Resource - Fatal编程技术网

Java 我的代码不显示帧中的图像

Java 我的代码不显示帧中的图像,java,image,swing,jbutton,embedded-resource,Java,Image,Swing,Jbutton,Embedded Resource,我把图像放在包文件夹的images文件夹中,但它不显示。我做错了什么 我会做一个记忆游戏,但还是什么都做不了。我应该使用标签而不是图标来显示图片吗?或者jtogglebutton或jbutton?如果图像是内部的,则您需要相对于项目的位置,或者可能需要打包到jar中: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class Concentratio

我把图像放在包文件夹的images文件夹中,但它不显示。我做错了什么


我会做一个记忆游戏,但还是什么都做不了。我应该使用标签而不是图标来显示图片吗?或者jtogglebutton或jbutton?

如果图像是内部的,则您需要相对于项目的位置,或者可能需要打包到jar中:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;




public class Concentration extends JFrame implements ActionListener {

    private JButton buttons[][]=new JButton[4][4];
    int i,j,n;

    public Concentration() {

        super ("Concentration");    
        JFrame frame=new JFrame();
        setSize(10000,10000);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel=new JPanel(new GridLayout(4,4));
        panel.setSize(4000, 4000);

        for( i=0; i<buttons.length; i++){
            for (j=0; j<buttons[i].length;j++){ 
                n=i*buttons.length+buttons[i].length;
                buttons[i][j]=new JButton(new ImageIcon("1.jpg"));

                panel.add(buttons[i][j]);

            }
        }
        add(panel);
        pack();
        setVisible(true);

    }
    public static void main(String args[]){
        new Concentration();
    }

}
路径是相对的,因此path/将是项目所在文件夹中的一个文件夹,或者打包到jar中

如果您想要一个外部图像,只需将ImageIcon构造函数交给路径ex.C:/…/file.png即可。但不建议这样做,因为最好将其用作资源


有关ImageIcon构造函数的更多信息,请参阅。有关加载类资源的更多信息,请参阅Javadoc链接

,在部署时,这些资源很可能会成为一个新的资源。在这种情况下,必须通过URL而不是文件来访问资源。请参阅标签的,以获取形成URL的方法。setSize1000001000;这是什么屏幕,巨无霸?别忘了接受一个答案:在这里制作,但现在在我的项目附近有一个感叹号。我恢复了精神。似乎没有错误,但它不会执行并显示我的窗口?我在source中创建了一个imagefolder,其中包含一个images文件和一个uttons[I][j]=new JButtonnew-ImageIcongetClass.getResource/images/1.jpg;但它不起作用在解决生成路径错误之前,无法生成项目。错误是。但是我的项目有imagefolder和它的images文件夹。这个beimageo怎么可能是一个更好的选择,因为当加载图像时出现问题时,它会抛出一个异常,并且它在一次调用中加载图像,而不是使用后台线程…请小心!bin是一个临时文件,每次调用Project/Clean时都会清除bin@约翰布伦:见鬼,你为什么又问同样的问题?你应该已经知道系统资源了。我不知道,现在不行
new ImageIcon(getClass().getResource("/images/1.jpg"));