4

在 Swing 中,是否可以将子JComponent级渲染到其父级的边界之外JComponent,或者子级总是被剪裁到其父级的边界?

4

2 回答 2

4

只要子组件是轻量级组件,它就会被限制在父组件的边界内。但是,如果它太大,它将被切割,不会进行缩放。

如果子组件是重量级组件而父组件是轻量级组件,则子组件将被渲染到父级边界之外。

这里有一篇非常好的文章:http: //java.sun.com/developer/technicalArticles/GUI/mixing_components/index.html(不记得是谁向我推荐了它,但谢谢!)

还有一个我不知道的更新(在链接中):

从 JDK 6 Update 12 和 JDK 7 build 19 版本开始,现在可以在同一个容器中无缝混合重量级和轻量级组件。

于 2011-05-22T21:28:30.053 回答
1

实际上,您可以重置 paint() 方法中使用的 Graphics 实例的剪辑边界。只需保存旧剪辑,设置新剪辑,在父边界之外进行绘画并将原始剪辑放回原处。

于 2011-05-23T07:17:57.853 回答