我正在使用包含三个部分的JFrame。第一部分是窗格,其中包含6个菜单按钮(左侧)。第二部分也是窗格,在顶部显示公司徽标。第三部分是DesktopPane,其中我正在使用(调用)DesktopPane中的JInterenalFrame。我的问题是,我想始终将JInterenalFrame内容(表单数据)显示在DesktopPane的中间。向我建议一些解决方案。
一个JDesktopPane用于显示多个JInternalFrames。可以在桌面窗格周围拖动JInternalFrame。
从您的图片看来,您在该区域只有一个JPanel。因此,您不应使用JDesktopPanel和JInternalFrame。
相反,您只是将常规的JPanel与CardLayout一起使用。您可以根据左侧菜单中的选择替换每个面板。
请参见How to Use CardLayout以获取更多信息。
将数据显示在表单的中间
最简单的方法是将JPanel与GridBagLayout一起使用。
因此您需要将当前面板包装在带有GridBagLayout的面板中。
所以基本代码是:
JPanel welcomePanel. = new JPanel( new GridBagLayout() );
welcomePanel.add(currentPanel, new GridBagConstraints());
现在,您的“ currentPanel”将在“ welcomePanel”中居中,“ welcomePanel”已使用CardLayout添加到您的面板中。