Eclipse上的JavaFX Scene Builder,ImageView

时间:2015-04-21 11:33:22

标签: java javafx

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

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

2 个答案:

答案 0 :(得分:1)

你想做什么? 如果您只想在单击imageview时添加事件: - >

在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 ....
       }
}

答案 1 :(得分:0)

试试这个演示...

公共类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);  
}

}