问题标签 [jscrollbar]

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 投票
3 回答
2447 浏览

java - 自定义 JScrollPane。在 ScrollBar 行上添加组件

这就是我想要实现的目标:

在此处输入图像描述

如您所见,水平滚动已更改,应在同一行中添加 JLabel("text")。目前我找到了改变水平滚动的方法(比如在图像上),但我找不到任何方法在它放置在图像上的地方添加 JLabel("text")。

有什么建议么?提前致谢!

0 投票
2 回答
9875 浏览

java - 如何检测 JScrollPane 的滚动条是否改变了可见性?

我有 JScrollPane,其中包含水平行中的一些图像。如果图像行对于视口来说太长,JScrollPane 会显示一个滚动条,从而降低视口的高度。我想调整图像大小以适应视口。我怎样才能检测到视口改变了它的大小?不幸的是,注册更改事件处理程序似乎不起作用。

0 投票
1 回答
675 浏览

swing - 自定义 JScrollBar-Thumb 已绘制,但不移动

我决定更深入地研究秋千和定制绘画组件的材料。最近几天,我在 StackOverFlow 和其他论坛上阅读了大量文章、API 文档和问题。但是我在理解这个概念时仍然遇到了一些基本问题。

我想要做什么:基本上,我想为我自己的 Swing GUI 设计一些组件。我在设计自定义 JButton 时没有太多问题。我只是在paint.net中创建一个自定义图像,创建一个ImageIcon并制作JButton.setIcon(ImageIcon),效果很好。如果我想自定义 JSlider 的 Thumb,同样的故事。我在这里找到了一个非常有趣的解决方案。它只是用任何内容覆盖默认拇指,然后在第二步中将“Slider.horizo​​ntalThumbIcon”的自定义 ImageIcon(通过 ClassLoader 使用我的自定义 createImageIcon 类)放置到 UIManger。

但现在问题开始了。如果我没记错的话,滚动条的拇指不是图标,所以我必须创建一个自己的“CustomScrollBarUI”类来扩展 BasicScrollBarUI。此外,我不想要任何箭头键。好的,所以我做了以下事情(从这里的一些示例代码再次启发我):

LoadBackGroundImage 是一个自己的类,它通过 ClassLoader 创建一个 BufferedImage。滚动条的拇指现在是我的自定义“slider.png”,但它不会移动。如果我向下拖动它,窗格会滚动,但拇指仍留在原处。由于我还没有理解所有机制,所以我阅读了有关paintImage方法的信息。在那里你必须提交一个 ImageObserver,我不太了解它的功能。我在网上找到了各种代码示例提交 null (就像我一样),但我认为这不适用于必须移动(并重新绘制)的图像。我该如何解决这个问题?如果我在paintThumb 方法中绘制普通图形,它可以正常工作,但是一旦我绘制图像,它就不会移动。

我希望有人能帮助我。提前致谢。

0 投票
1 回答
449 浏览

java - 自定义 ScrollPane 的绘画问题

为了在我的其他问题中保持秩序,建议单独提出以下问题:

以下是测试类的代码,我在其中添加了我的自定义 JScrollBar

自定义 ScrollBarUI 可以在这里看到:Custom JScrollBar-Thumb ispainted, but doesn't move 我唯一改变的(感谢 mgarin)是 g.drawImage(img, thumbBounds.x, thumbBounds.y, new Color(255,255,255,0), null);

如果我移动拇指,会发生以下情况(请不要介意设计,这只是为了测试一些不透明的东西......)

http://tinypic.com/r/sz94pf/6

0 投票
1 回答
187 浏览

java - 将 jscrollbar 附加到另一个组件

在我的应用程序中,我有两个相互重叠的摆动组件,看起来像这张图片。问题是橙色组件需要一个垂直滚动条,但我希望组件的右边缘保持完全对齐(并且宽度可以随着用户使应用程序变宽或变窄而变化)。如果我使用类似网格布局的东西,滚动条会占用空间,然后滚动条会与红色组件的右边缘对齐。

在此处输入图像描述

我在想我可能需要使用滚动条组件并单独添加它并使用它来控制橙色组件。有没有办法将滚动条附加到这样的另一个组件?我认为不使用滚动窗格会很困难。我也愿意接受有关如何解决此问题的任何建议。

0 投票
3 回答
209 浏览

java - JScrollBar 中“工作”区域的大小

如何在 Swing 中定义 JScrollBar 的这个大小?

JScrollBar 工作区大小

0 投票
1 回答
3696 浏览

java - 更改 ScrollBar 结束按钮的背景颜色

在 Java 中,我一直在研究如何更改滚动条末端按钮的背景颜色。我还没有找到解释如何解释的站点,并且我还查看了 UIManager Defaults 以尝试查找某些内容,但我找不到任何东西。因此,如果有人能告诉我如何更改滚动条上按钮的背景颜色,将不胜感激。谢谢。

0 投票
1 回答
404 浏览

swing - 如何使 JScrollPane JScrollBar 像 osx 滚动条一样仅在鼠标悬停时显示

我想最小化滚动条在我的摇摆应用程序中占用的空间。有没有办法让它们像只在鼠标悬停时显示的 osx 滚动条一样执行?否则有没有办法不显示它们但仍然可以滚动?

谢谢

0 投票
2 回答
1359 浏览

java - JScrollPane 不会在 JSplitPane 上更新 JScrollBar

我想创建能够编辑图像的简单应用程序。应用程序的主视图包含JSplitPane两个JScrollPane. 每个JScrollPane包含JPanel. 右边JPanel有几个按钮等,左边JPanel是我的绘图区。

这是我的问题...

当我第一次创建时,JPanelDrawingArea我可以设置首选大小。如果大小大于显示的大小JScrollPaneJScrollBars默认情况下是相等的)。但是当我将图像加载到JPanelDrawingArea滚动条时不会更新。尽管我设置了新的首选大小JPanelDrawingArea(大于大小JScrollPane)滚动条不会更新,除非我手动更改JSplitPanes分隔线位置。

这是我的JSplitPane自定义类:

还有我的自定义JPanel执行绘图:

以及我如何加载图像:

}

如您所见,有一个adjustPreferredSize()方法,当它第一次被调用时,它设置preferredSize为大于JScrollPaneJScrollBars出现。但是当它再次被调用时,它什么也不做。

有趣的是,当我手动更改分隔线的JScrollBars显示位置时,下面的屏幕上有一个示例:

http://s17.postimage.org/e1nkja3zx/liliebead.jpg

所以有某种事件,这使得JScrollPane更新?我尝试了几种方法:updateUI(), repaint(), revalidate(). 他们都没有工作。

任何想法我做错了什么?

0 投票
1 回答
217 浏览

java - 将 JScrollPane 限制为仅显示其部分内容

我有一个 JScrollPane,其中包含一个大小为 5000x5000 像素的 JPanel。我想将 JScrollPane 限制为只能显示此 JPanel 的子部分。

例如由两个点 (X,Y) 定义的矩形:

  • (500,500)(左上角)
  • (3000,3000)(右下角)。

我努力了

但它不起作用。setMinimum 函数只设置视口在滚动窗格上的位置,setMaximum 不做任何事情。