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 ....
}
}
我想在使用 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 ....
}
}