Seguí los pasos siguientes y que podría crear un ' ImageButton 'con éxito.
- Crear una
JButton
- añade un detector de acción
- Establecer un icono de imagen (tenga en cuenta que he colocado el icono
info.png
en el directorio src \ carpeta principal \ recursos y cargado mediante el cargador de clases). La estructura del proyecto es como aquí.
- fijó un vacío
Border
- personas de movilidad reducida el área de contenido de relleno
- ha deshabilitado el focusability
- añade a la contentPane
PFB el código que funcionó para mí
JButton btnNewButton = new JButton("");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Info clicked");
}
});
String iconfilePath = this.getClass().getClassLoader().getResource("info.png").getFile();
btnNewButton.setIcon(new ImageIcon(iconfilePath));
btnNewButton.setBounds(10, 438, 39, 31);
btnNewButton.setBorder(BorderFactory.createEmptyBorder());
btnNewButton.setContentAreaFilled(false);
btnNewButton.setFocusable(false);
contentPane.add(btnNewButton);
El El botón de salida resultante del código anterior es el siguiente
Esto hizo un truco, pero todavía hay algún tipo de fondo del botón en sí, ¿hay alguna manera de eliminarlo por completo? ¿O establecerlo transparente? – 3sdmx
Puede intentar configurar el fondo en otro color o transparente. ¿Su imagen tiene transparencia o es un cuadrado sólido? – jzd