Java - 是否可以在JScrollPane中放置一个JLayeredPane?

时间:2009-09-21 18:46:16

标签: java swing scrollbars

当我尝试将我的JLayeredPane放入JScrollPane时,我得到一个空白窗口(带有白色背景),而不是我试图渲染的内容(它可能是图像,按钮,画布)。有没有人知道布局管理器可能导致它的问题?有可能吗?

编辑: 感谢camickr的帮助,我现在可以将一个JLayeredPane放在JScrollPane中,尽管现在我遇到了一个不同的问题:

我正在使用一个非常大的图像,我试图把它放在我的JLayeredPane中,它位于JScrollPane中。从我使用这个大图像的某些原因(我没有收到堆溢出异常)我得到这个空白(白色屏幕)。有没有人经历过这样的事情?

2 个答案:

答案 0 :(得分:2)

嗯,这几乎是一个猜测,因为你没有提供太多的信息,但听起来像JLayeredPane的首选大小是(0,0),你看到的“白色”是背景JScrollPane的JViewport子代。尝试在JLayeredPane上设置首选大小作为开始。

答案 1 :(得分:2)

阅读How to Use Layered Panes上的Swing教程以获取一个工作示例。

更改以下行:

// add(layeredPane);
add(new JScrollPane(layeredPane));