问题标签 [scrolledcomposite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1730 浏览

scroll - 如何平滑滚动 SWT 复合?

我正在使用 SWT ScrolledComposite,但是当我在 Windows 中滚动时,如果我滚动到快,我会出现一些撕裂/闪烁。我可以做些什么来加倍缓冲或减少这种效果,或者我可以做些什么来覆盖默认滚动功能并使其滚动更顺畅?滚动区域中有文本框,所以我认为画布不会起作用。

0 投票
1 回答
1526 浏览

eclipse - Eclipse RCP 图像应用程序:如何布置图像?

我有一个显示视图的 Eclipse 插件。我想要做的是在视图中的一行中显示 n 个图像,每个图像下都有一个居中的标签。我想查看可滚动。 我还希望在视图的尺寸(ScrolledComposite?Composite?)发生变化时重新调整每个图像的大小,以便它利用可用的垂直和水平客户区。

我在 createViewPart 方法中实现了以下内容(省略了声明和错误检查):

从现在开始,最好的方法是什么?

  1. 我是否应该将 Composite 子类化并让该类在其自身上绘制给定的图像并在图像下方居中放置一个标签?
  2. 我应该使用什么布局管理器将标签置于图像下方?
  3. 我的子类的“父”参数应该是“myComposite”吗?
  4. 我应该将哪个布局管理器与“myComposite”一起使用?
  5. 在调整图像大小时,我是否使用“myComposite”的getBounds(我的子类复合材料的getBounds)来计算可用的宽度和高度?

感谢你的协助。

0 投票
1 回答
5826 浏览

java - SWT:带有 ScrolledComposite 的嵌套布局超出了可用空间

我想使用 SWT 为我的一个应用程序构建一个主从布局。

Container、Content、Sidebar 和 Part1 是 Composite 实例。Scrolled 是一个 ScrolledComposite

所需的布局类似于:

内容应该在水平和垂直方向上占据所有可用的空间。

侧边栏基本上是 Part1 和 Scrolled 的容器,它们的高度应该相等。

Scrolled 是 Composite 的容器,其中包含动态数量的子项,这些子项排列在内容组合中。因为子项的数量可能会有很大的变化,所以这个 Composite 应该是可滚动的。

我现在已经通过以下方式实现了这一点:

  • Container 有一个 GridLayout 和 2 列。

  • 其中内容具有 FILL_BOTH 行为并且还抓取所有水平/垂直空间。

  • 侧边栏有一个 FillLayout(SWT.VERTICAL) 并包含 Part1 和 Scrolled Childs。

问题: 当将大量项目放入滚动组合中时,布局刚好溢出可用空间,并且在应有的位置没有可用的滚动。

当我对容器使用 FillLayout(SWT.HORIZONTAL) 时,行为是所希望的,因为存在滚动并且一切都在“范围内”。

有没有办法在使用 GridLayout 时也实现这种行为,因为我希望内容能够占据大部分空间。

附上当前的测试 SWT 片段:

0 投票
1 回答
4210 浏览

size - SWT 复合材料最大尺寸

我有一个 ScrolledComposite,其内容被截断。我已经用 Google 搜索过,并且知道这是 Windows 上的一个已知问题。

我能找到的唯一建议解决方法是使用canvas.scroll 功能

考虑到问题的年龄,我想知道是否有更好的解决方法?

谢谢!

(编辑:在撰写本文时,链接是:http ://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet48.java ?view=markup&content-type=text%2Fvnd.viewcvs-markup&revision=HEAD )

0 投票
1 回答
360 浏览

eclipse - ScrolledComposite 垂直分割屏幕,内容显示在右半边

我正在使用基于此处提到的方法 2 的现有控件(有许多子项)的 ScrolledComposite:http://www.placelab.org/toolkit/doc/javadoc/org/placelab/util/swt/SwtScrolledComposite.html

唯一的变化是我使用现有控件的父控件,而不是创建新的外壳和显示。我看到了预期的滚动条,但现有的控件/内容显示在中心而不是从一开始。布局的前半部分(垂直分割)是空的,实际的控件/内容显示在右半部分。我检查了边界、原点、大小等。它们似乎很好。

截图放在这里:http://img818.imageshack.us/i/contentstartsfrommiddle.jpg

任何线索

提前致谢

0 投票
2 回答
2128 浏览

java - SWT StyledText 有高度限制吗?

我正在尝试创建一个包含显示在 ScrolledComposite 中的 StyledText 框的应用程序。我在 StyledText 框中显示大量行时遇到困难(超过 2,550 行似乎会导致问题)。

StyledText 框本身不能有滚动条,但必须可以通过 ScrolledComposite 滚动。由于 StyledText 下方和上方还有其他项目需要滚动到,我不想要多个滚动条。

因此,对于大量数据,我有一个非常大(如高度)的 StyledText 框,它似乎在某个高度后停止。

截屏

问题是 StyledText 应该与其内容一样高,但事实并非如此。下面的间隙的原因是包含的组合正在调整 StyledText 报告的高度,但这实际上不是它的高度。

这是一段简化的示例代码来说明我的问题:

更新:有趣的是,这个问题发生在 SWT Label 和 SWT Text

0 投票
1 回答
2846 浏览

java - SWT ScrolledComposite 在 32768 像素后切断画布生成的图像

所以我写了一个程序,它根据给定的“模型”生成一个水平“时间线”条,高度为 50 像素,长度约为 84600 像素。每个像素代表一秒,因为它在 24 小时内以秒为单位对事件进行建模。

问题是,在 32768 像素之后,条被切断。

我已经阅读了解决方案,例如使用 ScrolledComposite 仅显示画布的一部分并在显示新数据时进行滚动,因为滚动条是通过缓冲拖动完成的,但我根本不熟悉如何执行此操作。

我看到的另一个解决方案是不使用 ScrolledComposite 而只使用 canvas.scroll,如果我的源代码运行(测试程序来说明我的问题),问题很明显,滚动条不会滚动以允许显示整个画布,此“解决方案”的测试程序如下所示。请帮忙!

编辑:嘿谢谢p12t! 只是一个问题...这一行:final Point timelineSize = new Point(84600, 50);

那么这是否意味着每个 x 轴像素都有一个“点”,但向下 50 个 y 轴像素?如:++++++++++

. . . . . . . . . .

因此,每个“+ 号”是一个水平 x 轴像素,84600 个“点”是“周期”,如图所示 50 个 y 轴像素向下。我对此的理解正确吗?(顺便说一句,我上面显示的示例说明了 10 个点)

您还认为我做错了什么?或者我错误地实现了它..

0 投票
2 回答
8598 浏览

java - 在滚动复合中使用 GridLayout

我正在尝试创建一个滚动合成,其中包含一个内部带有网格布局的合成。

但是,当我尝试设置滚动复合的内容时,什么都没有加载。这似乎只影响具有网格布局的复合材料。

我究竟做错了什么?

我的代码:

0 投票
3 回答
6520 浏览

java - 具有 GridLayout 的 ScrolledComposite 父级

我想要一个ScrolledComposite它有一个父级,GridLayout但滚动条不显示,除非我使用FillLayout. 我的问题FillLayout是它的孩子占据了可用空间的相等部分。

在我的情况下,有两个小部件,顶部的一个不应超过窗口的 1/4,而ScrolledComposite应占用剩余空间。但是,他们两个都占了一半。

有没有办法使用GridLayoutwithScrolledComposite或者是否可以修改 的行为FillLayout

这是我的代码:

0 投票
3 回答
1628 浏览

java - SWT - ScrolledComposite 内多行文本字段的计算大小

我在 ScrolledComposite(sc) 中有一个复合材料(innerComposite)。在运行时,可以添加额外的 UI 组件。因此,我使用下面的代码来设置 sc 的最小大小以启用滚动,以防其他 UI 组件“溢出”sc。

一个问题是这个 sc/innerComposite 中的 SWT 多行文本字段。

当我在这个多行文本字段中输入长文本时,会出现垂直滚动条(这就是我想要的!)。但是,当我调用上面的代码重新计算大小并设置 sc.setMinSize() 时...多行文本字段的高度将扩展以适应输入文本的长度。这不是我想要的。我希望这个高度保持在滚动条上,而不是调整大小以适应输入的文本。

我知道computeSize会将其子项转换为首选大小。我不希望这种情况发生在多行文本字段上,因为它具有滚动垂直条的能力。

我怎样才能防止这种情况发生?