Я хочу отобразить маленькое изображение и отобразить изображение в оригинальном размере, когда маленький находится при наведении.
Мне нужна всплывающая подсказка, потому что изображение в оригинальном размере не может поместиться в окне.
Исполняемый код:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Tooltip;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
String bigImageUrl = "https://cdn.lynda.com/course/184457/184457-636806635954727169-16x9.jpg";
String smallImageUrl = "https://assets.exercism.io/tracks/java-bordered-turquoise.png";
VBox root = new VBox();
root.getChildren().add(loadTooltipWithImage(smallImageUrl));
root.getChildren().add(loadTooltipWithImage(bigImageUrl));
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
private Label loadTooltipWithImage(String url) {
ImageView bigImage = new ImageView(new Image(url));
ImageView smallImage = new ImageView(new Image(url));
smallImage.setFitHeight(100.0);
smallImage.setFitWidth(100.0);
Label label = new Label();
label.setGraphic(smallImage);
Tooltip tooltip = new Tooltip();
tooltip.setGraphic(bigImage);
label.setTooltip(tooltip);
return label;
}
}
Подсказка отображает изображение, когда узел находится при наведении, но когда изображение слишком велико, мышь не может быть перемещена:
- Узел парящий
- Подсказка отображает изображение
- Узел не парящий
- Всплывающая подсказка не отображается
- Перейти к шагу 1
Что я пробовал:
- Установить на всплывающей подсказке мышь в значение true, но я не смог
- Используйте панель вместо всплывающей подсказки, но окно (сцена) слишком маленькое для изображения
- Установите фильтры мыши, но они мне не помогают