JToolBar - JButton - Imagen que no se muestra

Mi diálogo principal se ha abarrotado de botones. Pensé que sería genial agregar una barra de herramientas con algunos de los botones al cuadro de diálogo.

Actualmente estoy usando una imagen en una barra de herramientas de la aplicación para iniciar mi aplicación. Está en el código Plugin.xml

 icon="icons/ediOrb.png"

Entonces, en mi cuadro de diálogo, estoy tratando de usar el mismo ícono para mi botón Actualizar

JToolBar toolbar = new JToolBar();
refreshButton = new JButton(new ImageIcon("icons/ediOrb.png"));
refreshButton.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
        refreshTable();
     }
  });
  toolbar.add(refreshButton);
  centerPanel = new JPanel();
  centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.PAGE_AXIS));
  centerPanel.setPreferredSize(new Dimension(850, 450));
  centerPanel.add(Box.createRigidArea(new Dimension(5, 0)));
  centerPanel.add(currentPanel);
  centerPanel.add(selectionsPanel);
  centerPanel.add(Box.createHorizontalGlue());
  centerPanel.add(Box.createRigidArea(new Dimension(0, 2)));
  centerPanel.add(buttonPanel);
  getContentPane().add(toolbar,BorderLayout.PAGE_START );
  getContentPane().add(centerPanel);

No se muestra ninguna imagen para el botón. Solo muestra una pequeña mancha. No arroja ningún error, simplemente no muestra la imagen.

¿Algunas ideas?

Respuesta 1

Tuve el mismo problema. En Netbeans tuve que ir a:

Run | Set Project Configuration | customize -- 

Luego agregue la ruta del Directorio de trabajo que contenía mi proyecto y los íconos. No estoy seguro de cómo hacer esto en un IDE diferente, pero mis iconos aparecieron después de esta solución.

Respuesta: 2

Prueba esto:

refreshButton = new JButton(new ImageIcon(getClass().getResource("/icons/ediOrb.png")).getImage()));
Respuesta: 3

Si su carpeta de iconos está debajo de la carpeta src.

JButton refreshButton = new JButton();
  try {
    Image img = ImageIO.read(getClass().getResource("icons/ediOrb.png"));
    refreshButton.setIcon(new ImageIcon(img));
  } catch (IOException ex) {
  }
Respuesta: 4

Estoy escribiendo un programa que leerá un archivo de texto y arrojará un error si el texto tiene caracteres que no sean espacios en blanco ni caracteres de palabras. La expresión regex parece correcta pero no funciona ...

Tengo un problema y no sé qué debo hacer. Entonces, he creado una pequeña aplicación web usando Java (JSP-Servlet) y API de App Engine. Está funcionando en la configuración regional, pero cuando la implementé, me da ...

Estoy tratando de migrar un proyecto iBatis al servicio de descanso usando Spring boot, Spring data JPA e Hibernate. Estoy atascado en una conversión de consulta, cualquier ayuda es apreciada. Esta es la consulta iBatis que soy ...

Estoy creando una aplicación de Android que conecta mi dispositivo a un chip integrado a través de Bluetooth. Estoy modelando mi diseño después de un programa que ya existe en Palm Pilot (escrito en C). Soy ...