当前位置: 首页 > 知识库问答 >
问题:

Vaadin14中的图表在splitlayout窗口中似乎不会自动调整大小

董联
2023-03-14

在Vaadin14.4.2中,我有一个场景,在SplitLayout中添加了一个图表。但是,当我作为用户展开或缩小splitLayout时,相应的图表不会调整大小。其他组件(如网格)会自动调整大小。是否有一些“神奇”的配置选项来让图表像其他组件一样运行?(下面的截图显示图表没有调整大小,尽管它下面的网格确实自动调整了大小。)(同样仅供参考,我将其称为:spectrachart.setsizefull();,因此图表应该会用完所有可用空间。)(另一个供参考的问题:即使重做绘图,我也可能“捕获”splitLayout调整大小,但在我看来,这在“框架”解决方案(如Vaadin)中最好不是必要的,因为图表是一个组件,应该像其他组件(如网格)一样表现。)

共有1个答案

滕英奕
2023-03-14

是的,不幸的是这是真的。您可以通过对图表执行显式JavaScript调用来解决这个问题,以便在拆分器位置发生更改时重新流动。下面的代码片段查找所有图表,并对其进行重新流动:

innerLayout.addSplitterDragendListener(event -> {
getUI().ifPresent(
    ui -> ui.getPage()
       .executeJavaScript(
           "Array.from(window.document.getElementsByTagName('vaadin-chart')).forEach( el => el.__reflow());"
       ));                      
});
 类似资料:
  • 我有下面的代码,它设置了一个特定大小的窗口。它还从外部URL加载图像。

  • 在tkinter中调整窗口大小时,有没有办法动态调整小部件的大小? 这是代码: 当我调整窗口大小时,窗口小部件的宽度和高度保持不变。 我想要的是根据窗口的大小动态调整窗口小部件的大小。 有没有办法在tkinter中实现这一点? 如果有人能帮我,那就太好了。

  • 问题内容: 我正在用d3.js绘制散点图。借助以下问题: 获取屏幕,当前网页和浏览器窗口的大小 我正在使用此答案: 这样我就可以将图适合用户的窗口,如下所示: 现在,我希望在用户调整窗口大小时可以调整图的大小。 PS:我的代码中没有使用jQuery。 问题答案: 寻找“响应式SVG”,使SVG响应式非常简单,您不必再担心大小。 这是我的做法: 注意: SVG图像中的所有内容都会随窗口宽度缩放。这包

  • 问题内容: 我一直试图(徒劳地)建立一个页面,当我更改窗口大小时,其元素将重新调整大小。我可以在CSS中使用它来处理图像,但是没有问题,但是我似乎无法在文本上完成相同的操作,而且我不确定在CSS中是否有可能。而且我似乎找不到能完成此任务的jQuery脚本。 当用户调整窗口大小时,我实质上希望页面能够动态流畅地缩放,而无需用户调用页面缩放。通过css在我的img div上这可以正常工作,但对于文本则

  • 我使用的是一个相当基本的设置,其中有一个扩展的类,我将它添加到中。 首先,窗口被正确地绘制,但一旦调用,旧图像的一条(与工具栏面板的高度相同)就会在新绘制的图像下方可见--类似于扑克牌从甲板上伸出来。但是,如果我手动调整窗口的大小,比如拖动边框,背景就会像它应该的那样变灰。 这是怎么回事,我该怎么解决?

  • 窗口大小,我们可以非常方便的使用width、height调整,但是如何知道 width和height是一个问题? 在 Window 操作系统中,假如我们想要缩放,我们通常会把鼠标移动到窗口的右边栏,和底部边栏,以及右下边栏。 而且在不同的边栏,鼠标呈现的样式也是不一样的。当我们在右边栏的时候我们可以通过cursor: e-resize;模拟鼠标样式。 在底部边栏我们可以通过cursor: s-re