【问题标题】:How to add a gradient to a JScrollPane's viewport?如何向 JScrollPane 的视口添加渐变?
【发布时间】:2019-05-20 18:58:40
【问题描述】:

我已经看到了如何通过让一个类扩展一个组件来添加渐变,覆盖paintComponent 方法,然后编写代码来添加渐变,然后就成功了。

但我在视口上有一个JScrollPane 和一个JTable。我根据需要添加行和列,并且我想要背景渐变,直到行覆盖它。

获取视口并设置颜色效果很好:我只希望它是渐变。

scrollPane.getViewport().setBackground(Color.blue);

有什么想法吗?

【问题讨论】:

  • 您不能设置一个自定义视口来扩展默认类并按照您已经知道的方式绘制渐变吗?
  • 我只是在这里做个猜测,可能正确也可能不正确,但听起来你可能想用你自己的 JPanel 做 #setViewport(...),它有 JPanel#setOpaque(true)一个被覆盖的#paintComponent(Graphics),当您向上/向下移动面板时,您可以在其中使用增加/减少的 alpha 值进行绘制。
  • @search。几乎,除了它必须是一个 JViewPort

标签: java swing gradient jscrollpane viewport


【解决方案1】:

您需要设置一个自定义的,而不是获取现有的视口。特别是,扩展JViewport 以与任何其他JComponent 完全相同的方式绘制渐变。然后在您的 JScrollPane 上调用 setViewport(),并将您的新类的实例作为参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-22
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    相关资源
    最近更新 更多