Imagem como botao

To tentando usar uma imagem como botão com javafx, mas ta dando erro provavelmente ao instanciar a imagem alguém pode me ajudar?
/// CONTROLADOR
package application;

import javafx.fxml.FXML;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;

public class Controlador_Janela1 {

@FXML
private ImageView BTN_imagem;

//Image mouseSolto = new Image("ree/desligado.png");
Image mousePrecionado = new Image("/ree/ligado.png");




@FXML
void mousePrecionado(MouseEvent e) {
	BTN_imagem.setImage(mousePrecionado);
}

@FXML
void mouseSolto(MouseEvent event) {
	
}

}

Mostre o erro

consegui resolver Brothers o brigado to com outra duvida sobre imagem por que a imagem nao do Graphics g aparece? nao me refiro a imagem do Jlabel .
public class Principal extends Canvas implements KeyListener {

private static final long serialVersionUID = 1L;

public JFrame frame;
public JFrame frame2;
public JButton btn1;
public BufferedImage imagem1;
public JLabel JL_imagem1;
public String petchIm_1; 

public  Principal() {
	
	frame = new JFrame();
	frame.addKeyListener(this);
	frame.setPreferredSize(new Dimension(500,500));
	frame.setSize(500, 500);
	frame.setLocationRelativeTo(null);
	frame.addKeyListener(this);
	componentes();
	frame.setVisible(true);

}

public void componentes() {
	btn1 = new JButton("ok");
	imagem1 = new BufferedImage(300, 300, BufferedImage.TYPE_INT_RGB);
	petchIm_1 = ("/RD.jpg");
	Graphics g = imagem1.getGraphics();
	render(g);
	
	try {
		imagem1 =ImageIO.read(getClass().getResource(petchIm_1));
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
	btn1.setBounds(410, 390, 50, 50);
	frame.setLayout(null);
	frame.add(btn1);
	// Imagem!
	JL_imagem1 = new JLabel();
	JL_imagem1.setBounds(10, 10, 370, 370);
	//JL_imagem1.setIcon(new ImageIcon(imagem1.getScaledInstance(370, 370, 0)));
	frame.add(JL_imagem1);
}

public static void main(String[] args) {
	Principal n1 = new Principal();
	System.out.println("texte");
}

@Override
public void keyPressed(KeyEvent e) {
	if(e.getKeyCode()== KeyEvent.VK_D) {
		
		System.out.println("ok");
	}		
}

@Override
public void keyReleased(KeyEvent e) {	
}
@Override
public void keyTyped(KeyEvent e) {		
}
public void render(Graphics g) {

	g.drawImage(imagem1,100,1000,100,100,null);
}

}

Resposta aqui.

duplicado: Imagem