1

可能重复:
Swing 外行分页

我的程序中有一个分页文档(JPanels 的结构),我必须跟踪添加和删除到文档中的所有元素,以及它们的大小,并相应地在页面之间移动它们。

我想出了一种管理方法,编写了一个算法来检查页面的高度和剩余的可用空间并据此采取行动。这是有缺陷的,因为如果一个组件的高度被降低到足够多,或者它真的很高然后被移除,那么来自下一页的多个组件可以被移动。此外,如果您降低第一个组件的高度,它的新高度可能适合前一页的可用空间。结合最后两个句子,您将无法编写代码,尤其是因为所有代码都在侦听器中。

那么,如果我有一个单独的组件,而不是一堆页面,该怎么办。

该组件将具有固定高度的空白空间(代表页面)和“实心”空间(代表首页的页脚、页间空间和底部页面的页眉)。

然后,当元素被添加到组件时,它们只会被添加到空白处,跳过实心的。

关键是能够分辨哪个组件在哪个空白空间上,而不必担心由于元素删除、添加或调整大小而在空白空间之间移动元素。这意味着当第一个空格全部填满时,下一个元素会自动添加到下一个空格。这也意味着在移除元素后,Component 会自动检查它是否可以将附加组件放入该空白空间,然后从下一个中拉出它。

无论如何,虽然我上面写的可能不可能,但我希望你能明白我在这里想要实现的目标。

如果您有任何想法可以使编写该部分代码更容易,请告诉我我能做什么。

4

0 回答 0