Java 在组件外部绘制';界

Java 在组件外部绘制';界,java,swing,drawing,bounds,clip,Java,Swing,Drawing,Bounds,Clip,我正在制作一个组件(扩展JComponent),它将在顶部绘制一些装饰,部分在其边界之外 我想知道是否有一种使用自包含代码在组件外部绘制的方法(例如,我不想在父容器中绘制任何图形)。好的,没有简单的解决方案。实现这一点的一种方法是绘制容器的玻璃窗格,如图所示。嗯,我只需要修改组件的图形对象来更改“明显”边界,这将使您能够在组件本身上绘制“边界之外”的内容。您是指使用setClip吗?我以为那只能用来缩小绘图区域。好吧,我错了。我之所以只将此标记为答案,是因为我刚刚修复了一个问题,这个问题我已经坚

我正在制作一个组件(扩展JComponent),它将在顶部绘制一些装饰,部分在其边界之外


我想知道是否有一种使用自包含代码在组件外部绘制的方法(例如,我不想在父容器中绘制任何图形)。

好的,没有简单的解决方案。实现这一点的一种方法是绘制容器的
玻璃窗格
,如图所示。嗯,我只需要修改组件的
图形
对象来更改“明显”边界,这将使您能够在组件本身上绘制“边界之外”的内容。

您是指使用setClip吗?我以为那只能用来缩小绘图区域。好吧,我错了。我之所以只将此标记为答案,是因为我刚刚修复了一个问题,这个问题我已经坚持了好几个小时,它有一个非常简单的解决方案:如果不重新绘制父容器以及组件,它将不会显示渲染。很明显,但不容易发现,因为我在鼠标和组件事件中重新绘制,其中一些重新绘制了容器,而另一些则没有。Tharwen,那么你应该回答自己的问题,并将其标记为正确的问题:DNo,你的答案是解决方案,但我认为粗体部分对以后阅读本文的人会有所帮助。试试图形的setClip方法。在我的尝试中,效果很好。