gpt4 book ai didi

java - 你能让 JScrollBar 的背景透明吗?

转载 作者:行者123 更新时间:2023-12-01 06:49:29 25 4
gpt4 key购买 nike

我有一系列列标签,它们独立于下面矩阵中显示的数据滚动。除了悬停时,我可以使整个滚动条透明。标签正对着数据,我喜欢这样,但是,在悬停时,除非我移动垂直滚动条(我宁愿不这样做),否则滚动条会遮住所有标签的开头。

我想将滚动条的背景设置为透明,这样只有“抓取器”(或任何它的名字)是唯一被绘制的东西。 (它会掩盖它结束的标签的开头,但会少很多。)

有什么办法吗?这是我尝试过的:

Color bg = new Color(255,255,255,0);
colLabelScroll.setBackground(bg);

这似乎并没有使滚动条的背景透明。

我正在拍摄的是 iPhone 的滚动条抓取器如何在某些应用程序中悬停在信息上。使用 JScrollBars 甚至可能吗?

最佳答案

Transparent JScrollBar可以做到,但考虑一下:如果列标签与数据相关并且您可以独立滚动它们,则初学者可能不了解发生了什么并将列标签与其下方视觉对齐的内容相关联。要么您需要某种视觉指示器来清楚地表明标签与数据断开连接,要么您应该改变标签的滚动方式,使它们永远不会静态地留在 1 个地方。

以下是我最终使标签和数据之间的关系更加清晰的方法:

  1. 我决定通过鼠标悬停来控制标签滚动位置,而不是允许用户独立和有意地滚动标签。这消除了对干扰滚动条的需要。
  2. 我创建了一个类似滚动条的指示器,用于显示标签所代表的数据部分。
  3. 我突出显示了与其下方数据对应的当前悬停标签,即唯一与数据正确对齐的标签是光标下方(或正上方)的标签。
  4. 当鼠标未悬停在列标签上(或从中拖动)时,不显示任何标签。这有助于防止用户进行无效的标签/数据关联。

一些细微的注意事项:实现您自己的类似滚动条的指示器有点复杂,特别是如果您的标签被绘制然后旋转,因为 0 的绘制位置位于 Pane 的底部,而 0 的垂直滚动位置 Pane 位于顶部。您将必须跟踪垂直滚动位置以便能够在光标返回时再次恢复它,因为您在鼠标移出时会消隐标签。

关于java - 你能让 JScrollBar 的背景透明吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30493916/

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