原文: http://zetcode.com/vaadin/slider/

Vaadin Slider教程显示了如何使用 Vaadin Slider组件。 Vaadin 滑块示例在标签组件中显示选定的值。

Vaadin

Vaadin 是流行的 Java Web 开发框架。 Vaadin 用于构建单页 Web 应用。

Vaadin Slider

Slider是垂直或水平条,允许通过使用鼠标拖动条手柄在定义的范围内选择数值。 在拖动过程中,将显示该值。 Slider的默认方向为水平,默认范围为0..100

Vaadin Slider示例

以下程序演示了 Vaadin 滑块组件的用法。 从Slider中选择的值显示在标签组件中。

NetBeans IDE 可用于轻松创建 Vaadin Web 应用。 我们需要安装 NetBeans Vaadin 插件,然后创建一个新的 Vaadin Web 应用项目。 我们将使用MyUI.java文件。

MyUI.java

  1. package com.zetcode.vaadinslider;
  2. import javax.servlet.annotation.WebServlet;
  3. import com.vaadin.annotations.Theme;
  4. import com.vaadin.annotations.Title;
  5. import com.vaadin.annotations.VaadinServletConfiguration;
  6. import com.vaadin.data.HasValue;
  7. import com.vaadin.server.VaadinRequest;
  8. import com.vaadin.server.VaadinServlet;
  9. import com.vaadin.ui.Label;
  10. import com.vaadin.ui.Slider;
  11. import com.vaadin.ui.UI;
  12. import com.vaadin.ui.VerticalLayout;
  13. @Theme("mytheme")
  14. @Title("Vaadin Slider")
  15. public class MyUI extends UI {
  16. @Override
  17. protected void init(VaadinRequest vaadinRequest) {
  18. VerticalLayout verLayout = new VerticalLayout();
  19. Label lbl = new Label("");
  20. Slider slider = new Slider();
  21. slider.addValueChangeListener((HasValue.ValueChangeEvent<Double> event) -> {
  22. Double val = event.getValue();
  23. lbl.setValue(String.valueOf(val));
  24. });
  25. verLayout.addComponents(slider, lbl);
  26. verLayout.setSpacing(true);
  27. setContent(verLayout);
  28. }
  29. @WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
  30. @VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
  31. public static class MyUIServlet extends VaadinServlet {
  32. }
  33. }

MyUI是应用入口点。 在这里,我们创建Slider组件。

  1. Label lbl = new Label("");

这是Label组件,它不使用从滑块中选择的值。

  1. Slider slider = new Slider();

在默认的水平方向上会创建一个Slider组件。

  1. slider.addValueChangeListener((HasValue.ValueChangeEvent<Double> event) -> {
  2. Double val = event.getValue();
  3. lbl.setValue(String.valueOf(val));
  4. });

使用addValueChangeListener(),我们为值更改添加了一个监听器。 我们用getValue()方法获得Slider的当前值。 检索到的值通过setValue()方法设置为标签。

  1. verLayout.addComponents(slider, lbl);
  2. verLayout.setSpacing(true);

我们使用addComponents()方法将标签和滑块添加到布局管理器中。 组件之间的一些间距通过setSpacing()添加。

mytheme.scss

  1. @import "../valo/valo.scss";
  2. @mixin mytheme {
  3. @include valo;
  4. .v-slider { width: 20em }
  5. }

我们增加mytheme.scss文件中Slider的宽度。

Vaadin `Slider`教程 - 图1

图:Vaadin Slider

在本教程中,我们展示了如何使用 Vaadin Slider组件。 您可能也对相关教程感兴趣: Vaadin ComboBox教程Vaadin Button教程Vaadin TextArea教程Vaadin CheckBox教程Java 教程