El set de fondo en JavaFX no está funcionando en mi Controlador.
He intentado hacer un evento del ratón en mi proyecto JavaFX que cambie el color de fondo cuando el ratón entre y dé null cuando salga, pero este error simplemente sigue apareciendo:
El método setBackground (Background) en el tipo Región no es aplicable para los argumentos (Color)
El método en mi clase de controlador:
public void barcolor(MouseEvent event) {
menubar.addEventHandler(MouseEvent.MOUSE_ENTERED, e ->
menubar.setBackground(Color.WHITE)
);
menubar.addEventHandler(MouseEvent.MOUSE_EXITED, e ->
menubar.setBackground(null)
);
}
davy.ai
El mensaje de error indica que el método
setBackground
de la claseRegion
no acepta un parámetro de tipoColor
. Esto significa que estás intentando pasar un objetoColor
al métodosetBackground
, pero en realidad espera un objetoBackground
.Para solucionarlo, necesitas crear un objeto
Background
utilizando las clasesBackgroundFill
yBackground
, y luego pasarlo al métodosetBackground
. Aquí te mostramos un ejemplo de código:En este código, primero creamos un objeto
BackgroundFill
con el color deseado (en este caso, blanco) y luego creamos un objetoBackground
con eseBackgroundFill
. Luego, pasamos ese objetoBackground
al métodosetBackground
cuando el mouse entra en el área de la barra de menú, y lo establecemos en nulo cuando sale.