gpt4 book ai didi

swt - 如何在SWT文本组件中实现自动隐藏滚动条

转载 作者:行者123 更新时间:2023-12-04 05:00:13 28 4
gpt4 key购买 nike

我有一个SWT Text组件,为此我设置了SWT.MULTISWT.V_SCROLLSWT.H_SCROLL以在需要时显示滚动条。
我发现即使内容小于文本组件,在禁用状态下也可以看到滚动条。

有什么方法可以自动隐藏滚动条?像Java一样,Swing具有JScrollPane.horizo​​ntal_scrollbar_as_needed

最佳答案

这适用于所有情况:

Text text = new Text(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);

Listener scrollBarListener = new Listener () {
@Override
public void handleEvent(Event event) {
Text t = (Text)event.widget;
Rectangle r1 = t.getClientArea();
Rectangle r2 = t.computeTrim(r1.x, r1.y, r1.width, r1.height);
Point p = t.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
t.getHorizontalBar().setVisible(r2.width <= p.x);
t.getVerticalBar().setVisible(r2.height <= p.y);
if (event.type == SWT.Modify) {
t.getParent().layout(true);
t.showSelection();
}
}
};
text.addListener(SWT.Resize, scrollBarListener);
text.addListener(SWT.Modify, scrollBarListener);

关于swt - 如何在SWT文本组件中实现自动隐藏滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8547428/

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