我的滚动窗格有透明度/滚动问题。据我所知,文档没有解决此问题。

这是我的透明文本窗格的代码:

    textArea.setOpaque(false);
    scrollPane.setViewportView(textArea);
    scrollPane.setViewportBorder(border);
    scrollPane.setOpaque(false);
    //scrollPane.getViewport().setScrollMode(JViewport.BACKINGSTORE_SCROLL_MODE);
    scrollPane.getViewport().setOpaque(false);


除了滚动速度很慢之外,这都可以正常工作。当setScrollMode行取消注释时,滚动的响应速度更快,但是透明度却丢失了。

我有什么办法可以进入双赢局面?

编辑:好的,原来的问题没有得到真正的回答,但是我确实发现原因实际上是对javax.swing.UIManager.put("TabbedPane.font", someCustomFont)的调用。我省去了这个细节,因为我认为这是无关紧要的。我不知道为什么这会导致滚动缓慢,但是我很高兴发现了这个问题。

最佳答案

1)JViewport默认为traslucent/transparent

2)必需的设置遵循JViewpot的方法

JViewport.setScrollMode(JViewport.BLIT_SCROLL_MODE);
JViewport.setScrollMode(JViewport.BACKINGSTORE_SCROLL_MODE);
JViewport.setScrollMode(JViewport.SIMPLE_SCROLL_MODE);


3)简单示例here,在滚动过程中没有任何冻结或跳跃

09-28 11:56