2014-05-13 117 views
0

我想知道是否可以将窗口添加到另一个窗口?像你可以添加该窗口,就像一个内部框架到另一个窗口。我之所以问这是因为我想让图像窗口(由ImageJ生成)显示在桌面框架或窗口中。另外你会如何去做这件事。提前致谢。在内部添加窗口到另一个窗口

+0

请参阅http://docs.oracle.com/javase/tutorial/uiswing/components/internalframe.html – Justin

+0

我已经看过那个,我做了很多内部框架,但imageJ中的一个是一个窗口,我完成了“扩展internalFrame”,但我不知道如何让它在桌面窗格中打开。谢谢,但对此有任何想法?因为我试图添加窗口到我的桌面窗格,但我得到和非法参数异常。 – selena

+0

一个非常类似的问题已经被问到[这里](http://stackoverflow.com/questions/23546698/imagewindow-inside-of-desktoppane-customized-gui-for-images)和[here](http:// stackoverflow .COM /问题/ 23552108/IS-IT-可能到把图像窗口 - 到 - 一个桌面窗格)。由于您专门针对ImageJ内部(ImageWindow类),因此您最好在[ImageJ邮件列表](http://imagej.nih.gov/ij/list.html)上询问。 –

回答

1

可以调用getContentPane()方法的JFrame的,或者更一般的ContainergetComponents()方法(例如,在java.awt.Framejava.awt.Dialog窗口的情况下),然后将其设置为一个JInternalFrame的内容窗格中。

+0

所以我能够获得图像窗口的内容窗格,并且能够将它放在我的内部框架中,但是当您调整原始图像窗口的大小时,它会调整我的内部框架图像的大小。那么我该如何做到这一点,以便当我的内部框架窗口调整大小时调整图像的大小? – selena

+0

当调整窗口大小时,ImageJ通常不会调整其图像的大小。试试用普通的ImageJ UI来看看我的意思。所以它在你的自定义用户界面中也不会这么做。我认为你必须做一些hacky操作,比如添加一个WindowListener来设置窗口缩放时的图像缩放。另请参阅:http://imagej.1557.x6.nabble.com/Resize-window-and-image-in-a-macro-td3698385.html – ctrueden

+0

原因我知道图像窗口类有一个函数setLocationAndSize,其中根据如果帧已更改,说明会缩放图像。所以我认为这就是图像能够相对于框架变焦的地方。但我尝试使用该功能,但它似乎并没有工作,我不知道如果我输入了错误的参数。 – selena