绘制JComponent而不将其添加到容器中

| 我实现了一个自定义ѭ0,它的绘画方法已经扩展为可以在全屏模式下进行很多手动渲染。现在,我想在此面板上集成另一个ѭ1(在我的情况下是一个ѭ0,其中包含一个ѭ3,其中ѭ4是其视口),它应该出现在我的第一个面板的顶部,但是由于我的自定义渲染管道很复杂,因此将ѭ1添加到我的面板并通过AWT系统绘制传统方式不是一种选择(我尝试过,最好不过是古怪,最坏情况下则无法运行),所以我的问题是:是否可以手动订购ѭ1通过调用程序的常规绘制方法而不是将其绑定到ѭ7at在某一时刻进行绘制,如果是,我该怎么做? 预先感谢您的回答。     
已邀请:
        请参见该线程上的
LabelRenderTest.java
源代码。该标签最终被绘制到屏幕上,但在显示之前被涂成
BufferedImage
。 来源的重要所在是..
textLabel.setSize(textLabel.getPreferredSize());
    
        您可以看一下CellRendererPane,看看例如BasicTableUI如何用它绘制组件图像。     
        是的,只需在对象上调用常规的绘制方法,然后传递要在其上绘制的图形即可。但是,这只是将其绘制,听起来好像您希望它可以滚动,这意味着您需要将其添加到自定义JPanel中。在这种情况下,只需添加面板,然后您便会在布局管理器中将组件放置在所需的位置。     
        您应该设置组件的大小。然后要定位它,请使用您的Graphics'translation(x,y)将组件定位在所需的Point中。     
        如果层次结构中有更高级别的容器,则可以使用
validate(); repaint(); 
一对去做。 如果不是,您可以在最后更改其大小或范围(例如+1,-1),以使其重新绘制自身。     

要回复问题请先登录注册