当前位置: 首页 > 编程笔记 >

如何在JavaFX中向图像添加滚动条?

司空祯
2023-03-14
本文向大家介绍如何在JavaFX中向图像添加滚动条?,包括了如何在JavaFX中向图像添加滚动条?的使用技巧和注意事项,需要的朋友参考一下

滚动条包含附加到可滚动窗格的拇指,左右按钮。使用此功能,您可以上下滚动窗格(附加到窗格)。

在JavaFX中,javafx.scene.control.ScrollBar表示滚动条。您可以创建一个实例化此类的滚动条。通常,滚动条与其他控件关联,例如ScrollPane,ListView等。

将ScrollBar设置为图像

名为value的属性指定由滚动条表示的当前值,您可以使用addListener()方法将侦听器添加到此属性。

要将滚动条附加到图像-

  • 创建一个代表所需图像的ImageView对象。

  • 创建一个窗格来保存图像视图,例如滚动窗格,vBox等。

  • 将侦听器添加到滚动条的value属性。

  • 根据滚动条的方向,使用滚动条新值的负数设置布局窗格的X / Y布局。

示例

public class ScrollBarActionExample extends Application {
   public void start(Stage stage) throws FileNotFoundException {
      //Label for education
      Label label = new Label("Educational qualification:");
      Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);
      label.setFont(font);
      //list View for educational qualification
      ScrollBar scroll = new ScrollBar();
      scroll.setMin(0);
      scroll.setOrientation(Orientation.VERTICAL);
      scroll.setPrefHeight(200);
      scroll.setPrefWidth(20);
      //creating the image object
      InputStream stream = new FileInputStream("D:\\images\\elephant.jpg");
      Image image = new Image(stream);
      //Creating the image view
      ImageView imageView = new ImageView();
      //Setting image to the image view
      imageView.setImage(image);
      //Setting the image view parameters
      imageView.setX(5);
      imageView.setY(0);
      imageView.setFitWidth(595);
      imageView.setPreserveRatio(true);
      //Adding the toggle button to the pane
      VBox vBox = new VBox(5);
      vBox.getChildren().addAll(imageView);
      scroll.valueProperty().addListener((ObservableValue<? extends Number> ov, Number old_val, Number new_val) -> {
         vBox.setLayoutY(-new_val.doubleValue());
      });
      //Setting the stage
      Group root = new Group();
      root.getChildren().addAll(vBox, scroll);
      Scene scene = new Scene(root, 595, 200, Color.BEIGE);
      stage.setTitle("Scroll Bar Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出结果


 类似资料:
  • 无论我做什么来改变它,我都会不断得到这个错误。我对JavaFX非常陌生,我想尝试一个小程序。我只是想让一张照片出现在现场,但我甚至不能让图像加载到我的程序中。我将图像放在主包(seaapp)旁边的包(seaapp.images)中 这给了我一个错误: 当我添加一个图片的URL作为新图片时,这很好,但是当我有一个下载的图片时,它会给我这个错误。我的netbeans也完全更新了。我已经把我如何设置文件

  • 问题内容: 我正在使用JDeveloper在Java中设计一个表单。我是JDeveloper的新手。在JDeveloper工具中,我没有找到任何直接将图像添加到.Net之类的选项。而且我不知道如何手动添加图像以形成表单。还有其他解决方法。所以请帮我解决。 问题答案: 就这么简单: 耶!现在,您的图像是摆动组件!将其添加到框架或面板或通常执行的任何操作中!可能也需要重新粉刷,例如

  • 问题内容: 问题答案: 您必须向JLabel提供一个实现(即)。您可以通过方法(如您的问题)中的方法或通过构造函数来执行此操作: 我建议你阅读的Javadoc ,和。另外,您可以查看“ 如何使用标签教程 ”以获取更多信息。

  • 最近我加入了GitHub。我在那里主持了一些项目。 我需要在自述文件中包含一些图像。我不知道怎么做。 我搜索了一下,但我得到的只是一些链接,告诉我“在web上托管图像并在readme.md文件中指定图像路径”。 有没有什么方法可以做到这一点,而不将图像托管在任何第三方web托管服务上?

  • 我试图找到一种方法,将图像添加到JavaFx TableView列中,该列包含通过hibernate从H2数据库填充的其他列中的数据。TableView是在JavaFx场景生成器中设计的。 到目前为止,我一直在努力总结: 控制器类: 我得到一个错误在说. 这是我第一次尝试将图像添加到TableView中。 我从昨天开始四处看看,但现在似乎被卡住了。我希望得到一些帮助。我非常感谢你的帮助。 这是创建

  • 问题内容: 我环顾四周,但未能弄清楚如何获取文本,将其覆盖在图像上,然后将两者合并为一个。 我已经用我能想到的搜索字词用尽了Google,因此,如果有人有解决方案或至少有一个提示,他们可以指出它,将不胜感激。 问题答案: 好吧…我知道了: 要调用它,您只需传递一个图像: 最初的目标是创建一个动态图像,我可以在其中使用该图像,例如在地图上的给定位置标价,这很适合。希望这对尝试做同样事情的人有所帮助。