Я пытался создать значок изображения в текстовом поле метки, используя средство выбора файлов, но текущий код работает для java, а не java fx, если кто-нибудь знает, как исправить мой код, это будет очень полезно
package EmploymentPayroll;
import java.awt.Image;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.event.ActionEvent;
import javafx.scene.control.Label;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import javax.swing.JOptionPane;
/**
* FXML Controller class
*
* @author Shafeen
*/
public class AddEmployeeController implements Initializable {
@FXML
private Label img;
private ImageIcon format = null;
String filename = null;
byte[] person_image = null;
@Override
public void initialize(URL url, ResourceBundle rb) {
}
@FXML
private void UploadImageActionPerformed(ActionEvent event) {
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();
filename = f.getAbsolutePath();
*error* ImageIcon imageIcon = new ImageIcon(new ImageIcon(filename).getImage().getScaledInstance(img.getWidth(), img.getHeight(), Image.SCALE_DEFAULT));
*error* img.setIcon(imageIcon);
try {
File image = new File(filename);
FileInputStream fis = new FileInputStream (image);
ByteArrayOutputStream bos= new ByteArrayOutputStream();
byte[] buf = new byte[1024];
for(int readNum; (readNum=fis.read(buf))!=-1; ){
bos.write(buf,0,readNum);
}
person_image=bos.toByteArray();
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}
}
это форма java fx, где, когда я нажимаю на картинку, она должна загрузить файл и сохранить как тип BLOB
ошибка одна
ошибка два
спасибо за помощь