gpt4 book ai didi

java - 瓦丁水平分割面板 : Set right side width in pixels

转载 作者:行者123 更新时间:2023-11-30 07:45:21 24 4
gpt4 key购买 nike

我可以设置 Horizo​​ntalSplitPanel 的左侧宽度(以像素为单位),如下所示。

splitter.setSplitPosition(40, Sizeable.Unit.PIXELS);

在上述情况下,由于分割位置为 40 像素,因此分割器左侧的宽度为 40 像素。在某些情况下,我想指定分割器右侧的宽度(以像素为单位)。

但是,我无法以上述方式设置右侧,因为无法找到分离器的总宽度。如果我可以获得总宽度,我可以像下面这样做。

splitter.setSplitPosition(splitter.totalWidth() - 40, Sizeable.Unit.PIXELS);

那么,有什么方法可以定义右侧宽度(以像素为单位)?

最佳答案

您可以“反转”分割位置。请参阅setSplitPosition(float pos, Sizeable.Unit unit, boolean reverse) :

reverse - if set to true the split splitter position is measured by the second region else it is measured by the first region

例如:

// run with `spring run vaadin.groovy`
@Grapes([
@Grab('org.vaadin.spring:spring-boot-vaadin:0.0.5.RELEASE'),
@Grab('com.vaadin:vaadin-server:7.5.9'),
@Grab('com.vaadin:vaadin-client-compiled:7.5.9'),
@Grab('com.vaadin:vaadin-themes:7.5.9'),
])
import org.vaadin.spring.annotation.VaadinUI
import com.vaadin.server.VaadinRequest
import com.vaadin.ui.*
import com.vaadin.annotations.*
import com.vaadin.server.Sizeable

@VaadinUI
@Theme("valo")
class MyUI extends UI {
protected void init(VaadinRequest request) {
setContent(new HorizontalSplitPanel(new Label("A"), new Label("B")).with{
setSplitPosition(40, Sizeable.Unit.PIXELS, true /*!*/)
it
})
}
}

关于java - 瓦丁水平分割面板 : Set right side width in pixels,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34012694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com