我在使用Swing设计MDI应用程序时遇到了一些麻烦。哪些组件可以添加到JDesktopPane中?
我没有问题实现JDesktopPane & JInternalFrames,我的问题会更具体些。这里是一眼我的基本容器框架:
package applicationGUI;
import javax.swing.JFrame;
public class DesktopContainer extends JFrame{
/* Fields */
/* Constructors */
public DesktopContainer(){
setContentPane(new Desktop());
setJMenuBar(AppllicationMenuBar.getMenuBar());
}
/* Public Methods */
public Desktop getDesktop(){
return (Desktop)getContentPane();
}
}
和桌面:
public class Desktop extends JDesktopPane{}
注意,我设置桌面作为DesktopContainer的内容窗格。我想要的是,能够在桌面上添加JPanels(特别是,在JMenuBar的下方)。不幸的是,我无法做到这一点。最后,这里是我的问题:
1-)可以在JDesktopPane上绘制JPanel对象吗?我做了一些挖掘,我想这与JLayeredPane功能有关,但不幸的是我无法实现它。 2)如果JPanel对象不能在JDesktopPane上绘制,我怎么能设法做到我想要的,有什么建议?我只是想道,“向JFrame添加两个JPanel,使用顶层的JPanel来满足您的需求,并将JDesktopPane拖入下面的第二个JPanel中。这是一个好方法吗?
谢谢你的答案..
解决了它,谢谢xrath .. – 2009-09-25 15:44:13
感谢您的setBounds()提示! – Hamy 2010-03-26 05:47:37