Java JTabbedPane中的图标未显示

Java JTabbedPane中的图标未显示,java,image,swing,embedded-resource,imageicon,Java,Image,Swing,Embedded Resource,Imageicon,我的选项卡有问题: JTabbedPane tab = new JTabbedPane(); frame.add(tab, BorderLayout.CENTER); JPanel contact = new JPanel(); contact.add(backgroundContact); tab.add("Contacto", contact); //tab.addTab("Contacto",new ImageIcon("images/image2

我的选项卡有问题:

JTabbedPane tab = new JTabbedPane();
    frame.add(tab, BorderLayout.CENTER);

    JPanel contact = new JPanel();
    contact.add(backgroundContact);
    tab.add("Contacto", contact);
    //tab.addTab("Contacto",new ImageIcon("images/image2.gif"), contact,"");

    JPanel schedule = new JPanel();
    schedule.add(backgroundSchedule);
    tab.add("Horario", schedule);
    //tab.addTab("Horario", new ImageIcon("images/image2.gif"), schedule,"");

    JPanel cost = new JPanel();
    cost.add(backgroundCost);
    tab.add("Tarifas", cost);
    //tab.addTab("Tarifas", new ImageIcon("images/image3.gif"), cost,"");


      // Los iconos
    tab.setIconAt(0, new ImageIcon("images/image1.gif"));
    tab.setIconAt(1, new ImageIcon("images/image2.gif"));
    tab.setIconAt(2, new ImageIcon("images/image3.gif"));
我尝试了这两个选项,但图标没有显示。为什么会这样

我还尝试了:
newimageicon(“images/im.gif”)
,它不存在,我没有任何错误

请尝试以下操作:

URL urlToImage3 = this.getClass().getResource("/" + "images/image3.gif");
... new ImageIcon(urlToImage3);
您可以连接
“/”+“images/image3.gif”
——我只想突出显示前导的
/
,因为从类路径的根进行搜索更可靠

如果我怀疑这些图像是“嵌入式资源”,则它们在运行时不会通过
文件
可用,但应该位于应用程序的某个JAR中的类路径上,因此可以通过
URL
使用,请改为尝试以下操作:

URL urlToImage3 = this.getClass().getResource("/" + "images/image3.gif");
... new ImageIcon(urlToImage3);
您可以连接
“/”+“images/image3.gif”
——我只想突出显示前导的
/
,因为从类路径的根进行搜索更可靠

如果我怀疑这些图像是“嵌入式资源”,那么它们在运行时不会通过
文件
获得,而是应该位于应用程序的某个JAR中的类路径上,因此可以通过
URL
获得