Eclipse 上的 JavaFX 场景生成器,ImageView

JavaFX Scene Builder on Eclipse , ImageView

我想在使用 JavaFx Scene Builder 创建的 ImageView 中添加一个事件。

当我点击 ImageView 时,我可以做一些事情(我正在使用 OpenCV 我想要它,这样当我点击时我可以捕获 X 和 Y)。

试试这个演示...

public class RotateImage 扩展 JPanel{

private static final long serialVersionUID = 1L;
// Declare an Image object for us to use.
Image image;

// Create a constructor method
public RotateImage(){
   super();
   // Load an image to play with.
   image = Toolkit.getDefaultToolkit().getImage("**Set Your Image Path Here**");
}

public void paintComponent(Graphics g){
     Graphics2D g2d=(Graphics2D)g; // Create a Java2D version of g.
     g2d.translate(220, 90); // Translate the center of our coordinates.
     g2d.rotate(1);  // Rotate the image by 1 radian.
     g2d.drawImage(image, 200, 200, 200, 200, this);
}

public static void main(String arg[]){
   JFrame frame = new JFrame("RotateImage");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(600,400);

   RotateImage panel = new RotateImage();
   frame.setContentPane(panel);  
   frame.setVisible(true);  
}

}

你想做什么? 如果您只想在单击图像视图时添加一个事件: -->

在SceneBuilder的"code"部分填写一个fx:id(例如"myImageView")

在您的控制器中只需添加:

@FXML
private ImageView myImageView;

@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
       myImageView.setOnMouseClicked(event -> {
           //Whatever you want to do ....
       }
}