2015-12-21 4 views
1

Я пытаюсь добавить значок в свой JButton, но я продолжаю получать исключение NullPointerException, то есть не могу найти указанное изображение.Добавление ресурсов в проект Java

Оба моих класса и buttonremoterefresh.png находятся непосредственно внутри папки src (классы находятся внутри пакета по умолчанию). Я искал это с прошлой ночи, и независимо от того, что я пытаюсь, я не могу загрузить ресурс.

public class InfiltratorClient { 

    private MainWindow mw; 

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

    public InfiltratorClient() { 
    mw = new MainWindow();  
    } 
} 


public class MainWindow extends JFrame { 

    private JPanel contentPane; 
    private InfiltratorClient n; 


    public MainWindow() { 

     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(100, 100, 450, 300); 
     this.setSize(650, 600); 
     setVisible(true); 
     contentPane = new JPanel(); 
     contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     setContentPane(contentPane); 
     contentPane.setLayout(null); 

     JButton btnNewButton = new JButton("New button"); 
     btnNewButton.setBounds(258, 228, 140, 105); 
     contentPane.add(btnNewButton); 

     //In this Line i get the exception 
     ImageIcon icon = new ImageIcon(MainWindow.class.getResource("buttonremorerefresh.png")); 
     btnNewButton.setIcon(icon); 

     repaint(); 
     revalidate(); 
} 
} 
+0

Google "getResourceAsStream" ... – vikingsteve

+0

Invoke MainWindow.class.getResource (""). GetPath() и быть уверенным в пути, в котором осуществляется поиск изображения , –

ответ

0

использовать этот код

JButton button = new JButton(); 
     try { 
     Image img = ImageIO.read(getClass().getResource("buttonremorerefresh.png")); 
     button.setIcon(new ImageIcon(img)); 
     } catch (IOException ex) { 
     } 
+0

Это сработало, спасибо большое. Я все еще не уверен, хотя в чем проблема со старым кодом. Нужно ли java открывать поток на каждом ресурсе? –

+0

Здесь я использую изображение insted of imageicon –

Смежные вопросы