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) {
}
}
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);
}
}