JTabbedPane中的图标未显示

时间:2012-05-04 14:16:31

标签: 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.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"));

我已尝试过两种选项,但图标未显示。为什么会这样?

我也尝试过:new ImageIcon("images/im.gif")不存在且我没有任何错误

1 个答案:

答案 0 :(得分:6)

请改为尝试:

URL urlToImage3 = this.getClass().getResource("/" + "images/image3.gif");
... new ImageIcon(urlToImage3);

你可能会连接"/" + "images/image3.gif" - 我只是想突出显示领先的/,因为从类路径的根目录搜索更加健壮。

如果我怀疑这些图像是“嵌入式资源”,File在运行时它们将无法使用它们,但应该位于应用程序的其中一个Jars的类路径中。因此可以URL获得。