标签: vaadin-flow

Vaadin Flow中的可滚动布局

在Vaadin Flow中,不存在本质上是可滚动布局的组件。在Vaadin 8中,这是由专家小组完成的。

有什么方法可以在Vaadin Flow中实现可滚动组件?

scrollview vaadin vaadin-flow

2
推荐指数
1
解决办法
560
查看次数

为什么自定义实现的 VaadinServiceInitListener 不在 vaadin 13.0.2 中监听?

我想验证用户是否已登录以实现它,我在 vaadin 13.0.2 中找到了名为 VaadinServiceInitListener 的东西,此类用于侦听所有 UI 的 BeforeEnter 事件,以便在允许之前检查用户是否已登录进入任意页面。

我通过赞赏实现的登录功能和 VaadinServiceInitListener 创建了一个带有 app-layout-addon 的 vaadin 13.0.2 项目,以检查用户是否登录。

public class AAACATInitListener implements VaadinServiceInitListener {
    private static final long serialVersionUID = 1L;

    private static InAppSessionContextImpl appContextImpl;

    @Override
    public void serviceInit(ServiceInitEvent event) {
        System.out.println("in service init event");
        event.getSource().addUIInitListener(new UIInitListener() {
            private static final long serialVersionUID = 1L;

            @Override
            public void uiInit(UIInitEvent event) {

                event.getUI().addBeforeEnterListener(new BeforeEnterListener() {
                    private static final long serialVersionUID = 1L;

                    @Override
                    public void beforeEnter(BeforeEnterEvent event) {

                        appContextImpl = (InAppSessionContextImpl)VaadinSession.getCurrent().getAttribute("context"); …
Run Code Online (Sandbox Code Playgroud)

vaadin vaadin-flow

2
推荐指数
1
解决办法
919
查看次数

复制到 vaadin 14 中的剪贴板组件

我想复制到 vaadin 14 中的剪贴板组件,否则我该如何准备?

我想在 Vaadin 中编写一个按钮来复制特定 Vaadin 小部件(如 TextField)的文本内容,将该文本放置在操作系统的剪贴板上,以便用户稍后可以将该文本粘贴到其他地方,可能是另一个应用程序中

java vaadin vaadin-flow

2
推荐指数
1
解决办法
850
查看次数

在 Vaadin 14 中将“对话框”小部件的宽度设置为页面的百分比

在 Vaadin 14 中,Dialog通过px( CSS virtual "pixels" )指定宽度和高度时,小部件会正确打开。

Dialog dialog = new Dialog();
dialog.setCloseOnEsc( true );
dialog.setCloseOnOutsideClick( true );
dialog.add( new Label( "whatever" ) );
dialog.setWidth( "500px" );                //   width
dialog.setHeight( "700px" );               //   height
Run Code Online (Sandbox Code Playgroud)

不幸的是,将其更改500px80%

dialog.setWidth( "80%" );                  //   width as percentage (%)
dialog.setHeight( "700px" );               //   height
Run Code Online (Sandbox Code Playgroud)

我希望对话框现在占据浏览器的大部分窗口宽度。我的看法正好相反。结果对话框的宽度大约只有窗口的三分之一而不是 80%。并且宽度是固定的,不会随着用户调整浏览器窗口的大小而改变。

? 如何让 aDialog填充大部分但不是全部浏览器窗口,并随着用户增长/缩小窗口的宽度/高度而动态调整大小?


例子

这是一个完整的工作示例应用程序,它基于 Vaadin.com 站点提供的“普通 Java Servlet”入门项目。

package work.basil.example.dialog_by_percent;

import com.vaadin.flow.component.button.Button; …
Run Code Online (Sandbox Code Playgroud)

css dialog vaadin vaadin-flow

2
推荐指数
1
解决办法
720
查看次数

没有 Spring Boot 的 Vaadin Flow 18/19?

https://start.vaadin.com页面创建18版本或19(发行前)的新Vaadin流项目。但是生成的项目需要 Spring Boot。

我不想要春天。我不想要 Spring Boot。两者都解决了我没有的问题。两者都增加了我不想要的复杂性。

有没有办法在没有Spring 的情况下使用 Vaadin 18 或 19 ,只使用普通的 Servlet 技术?

是否有任何适用于 Vaadin 18 或 19 但没有 Spring 和 Spring Boot 的 Maven 原型?以前,我们有 Maven 原型vaadin-archetype-application。但该原型仅适用于 Vaadin 16。不适用于 Vaadin 17 和 18。

作为一种解决方法,是否有某种方法可以获取在https://start.vaadin.com 上生成的基于 Spring Boot 的项目,然后删除所有与 Spring 相关的部分?或者这是不可行的?

基本上,这个问题与这个问题相同,使用没有 Spring/CDI 的普通 Java Servlet 创建一个新的 Vaadin Flow 16/17 项目,但适用于 Vaadin 18/19 而不是 16/17。

vaadin maven maven-archetype vaadin-flow

2
推荐指数
1
解决办法
141
查看次数

Vaadin 焦点颜色

是否有全局方法可以停用焦点颜色?正如你在附件中看到的那样?

提前致谢!

最好的问候, 托马斯

在此处输入图片说明

vaadin vaadin-flow

2
推荐指数
1
解决办法
63
查看次数

Vaadin:动态更改 CSS 变量

有没有办法动态改变 lumo 原色:

html {
  --lumo-primary-text-color: hsl(214, 35%, 15%);
  --lumo-primary-color-50pct: rgba(140, 236, 0, 0.5);
  --lumo-primary-color-10pct: rgba(140, 236, 0, 0.1);
  --lumo-primary-color: #8CEC00;
  --lumo-primary-contrast-color: hsl(214, 35%, 15%);
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

最好的问候, 托马斯

vaadin vaadin-flow

2
推荐指数
1
解决办法
65
查看次数

CSS 中的 URL 不再适用于 Vaadin 14.6

从 Vaadin 14.5 升级到 14.6 后,我遇到了包含指向内容的 URL 的 CSS 问题。

例如,以下 CSS 不再有效:

:host([part="my-part"]) [part="reveal-button"]::before {
    content: url("../images/my-image.svg");
}
Run Code Online (Sandbox Code Playgroud)

运行 Vaadin Maven 插件的构建前端目标时,它无法“编译”并出现以下错误:

ERROR in ../node_modules/@vaadin/flow-frontend/styles/components/my-component.css
Module build failed (from ../node_modules/css-loader/dist/cjs.js):
Error: Can't resolve '../images/my-image.svg' in '<Project Path>\node_modules\@vaadin\flow-frontend\styles\components'
Run Code Online (Sandbox Code Playgroud)

如果我尝试运行该项目,浏览器中会出现同样的错误。此 CSS 在所有先前版本的 Vaadin 14 中运行良好。

有没有人遇到过类似的事情,或者对可能导致这种情况的变化有什么想法?

vaadin-flow vaadin14

2
推荐指数
1
解决办法
187
查看次数

以编程方式取消选中 Vaadin 上下文菜单中的复选框

我创建了一个具有树结构的上下文菜单(添加了菜单项,然后在这些菜单项中添加了复选框作为子菜单项)。这在手动添加/删除项目方面工作得很好。但是,当涉及到以编程方式重置项目时,一般组件与特定组件(在本例中为复选框)之间存在冲突。

Component comp = contextMenu.getItems().get(x).getSubMenu().getItems().get(y);
if (comp instanceof Checkbox) {
    ((Checkbox) comp).setValue(false);
}
Run Code Online (Sandbox Code Playgroud)

请注意, comp实际上不是Checkbox 的实例;而是作为 com.vaadin.flow.component.contextmenu.MenuItem 返回,并且该项目不能转换为复选框。所以问题是,我如何取消选中给定的复选框?

checkbox contextmenu vaadin vaadin-flow

2
推荐指数
1
解决办法
63
查看次数

是否可以在 Vaadin 14 / Flow 网格中以编程方式设置样式

例如,我有一个网格,我让用户使用 Vaadin 8 为某些数据定义颜色,我也想在 Vaadin 14 / Flow 中提供它。

在 Vaadin 8 中,我做了(对于每种样式/数据类型):

Page.getCurrent().getStyles()
    .add(".MyCustomTheme .v-grid-cell." + cssName + " { background-color:" + userSelectedColor + "; }");
Run Code Online (Sandbox Code Playgroud)

然后在网格代码中我会这样做:

addColumn(myColumn).setStyleGenerator(cssName);
Run Code Online (Sandbox Code Playgroud)

在 Vaadin 14 / Flow 我有:

addColumn(myColumn).setClassNameGenerator(cssName);
Run Code Online (Sandbox Code Playgroud)

但是我似乎无法弄清楚如何以编程方式更改 cssName 的 css 值。本质上,我如何在 Java 代码中注入我的 css 的第一部分?

只是补充一下,我无法做任何事情,如下所示:https : //vaadin.com/docs/v14/flow/element-api/tutorial-dynamic-styling当我尝试这样做时,grid.getElement().getStyle().set(...)这将适用于整个表而不是比行。

vaadin vaadin-grid vaadin-flow vaadin14

2
推荐指数
1
解决办法
92
查看次数