2012-05-04 1 views
0

У меня есть проблема с моим закладках:значок в JTabbedPane не показан

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"), который не существует и гаванью я любую ошибку

ответ

6

Попробуйте вместо этого:

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

Вы можете сцепить "/" + "images/image3.gif" - Я просто хотел подчеркнуть ведущую /, так как оно является более надежным для поиска из корня пути класса.

Если эти изображения являются «встроенным ресурсом», как я подозреваю, они не будут доступны по File во время выполнения, но должны быть на пути к классу в одном из баннеров приложения и, следовательно, доступны по URL.

+0

Большое вам спасибо! Это сработало!! – user1256477