Java 我的代码不显示帧中的图像
我把图像放在包文件夹的images文件夹中,但它不显示。我做错了什么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
我会做一个记忆游戏,但还是什么都做不了。我应该使用标签而不是图标来显示图片吗?或者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"));