我需要JPanel的Area.I内的JInternalFrame一些帮助有一个包含 的JPanel添加到其ContentPane.JFrame一个JFrame包含菜单当我点击的菜单项之一,我 需要JInternal框架中添加上在contentpane.The代码的顶部到目前为止,我已经给定,JInternal框架在JPanel的
JDesktopPane desktop = new JDesktopPane();
desktop.setLayout(new BorderLayout());
JPanel topPanel = new JPanel();
GridBagLayout gbl_contentPane = new GridBagLayout();
gbl_contentPane.columnWidths = new int[] { 0, 0, 0, 0 };
gbl_contentPane.rowHeights = new int[] { 0, 0, 0, 0 };
gbl_contentPane.columnWeights = new double[] { 1.0, 6.0, 1.0,
Double.MIN_VALUE };
gbl_contentPane.rowWeights = new double[] { 0.0, 8.0, 0.0,
Double.MIN_VALUE };
topPanel.setLayout(gbl_contentPane);
JPanel left = new JPanel();
GridBagConstraints gbc_left = new GridBagConstraints();
gbc_left.insets = new Insets(0, 0, 5, 5);
gbc_left.fill = GridBagConstraints.BOTH;
gbc_left.gridx = 0;
gbc_left.gridy = 1;
topPanel.add(left, gbc_left);
JPanel middle = new JPanel();
GridBagLayout gbl_middle = new GridBagLayout();
gbl_middle.columnWeights = new double[] { 1.0 };
middle.setLayout(gbl_middle);
GridBagConstraints gbc_middle = new GridBagConstraints();
gbc_middle.insets = new Insets(0, 0, 5, 5);
gbc_middle.fill = GridBagConstraints.BOTH;
gbc_middle.gridx = 1;
gbc_middle.gridy = 1;
topPanel.add(middle, gbc_middle);
GridBagConstraints gbc = new GridBagConstraints();
JPanel panel1 = new JPanel();
Border eBorder = BorderFactory.createEtchedBorder();
panel1.setBorder(BorderFactory.createTitledBorder(eBorder, "70pct"));
gbc.gridx = 0;
gbc.gridy = 0;
gbc.fill = GridBagConstraints.BOTH;
gbc.weightx = gbc.weighty = 30;
middle.add(panel1, gbc);
panel1.setLayout(new MigLayout("", "[944.00,grow][353.00]",
"[6.00][128.00,grow][]"));
/*lblHeader = new JLabel(
"<html>Indira Institute of Technology<br>Tatabad<br>Karpagam Complex Stop<br>Coimbatre</html>");
lblHeader.setIcon(new ImageIcon(
"C:\\Users\\Prakash\\Desktop\\images.jpg"));
panel1.add(lblHeader, "cell 0 1 2 1,alignx center,aligny center");*/
JPanel panel2 = new JPanel();
gbc = new GridBagConstraints();
panel2.setBorder(BorderFactory.createTitledBorder(eBorder, "30pct"));
gbc.gridy = 1;
gbc.gridwidth = gbc.gridheight = 1;
gbc.fill = GridBagConstraints.BOTH;
gbc.anchor = GridBagConstraints.NORTHWEST;
gbc.weightx = gbc.weighty = 70;
gbc.insets = new Insets(2, 2, 2, 2);
middle.add(panel2, gbc);
panel2.setLayout(new MigLayout(
"",
"[30px][69.00px][144.00][68.00][][159.00px][59.00px][65px][28.00][]",
"[20px:n,grow 50,shrink 50][20px:n,grow 50,shrink 50][20px:n,grow 50,shrink 50][20px:n,grow 50,shrink 50][30.00][48.00:n,grow 50,shrink 50]"));
getContentPane.add(topPanel);
我从来没有使用这个DesktopPane(我不知道如何使用这个在这种情况下)与屏幕到目前为止是如下, a busy cat http://i60.tinypic.com/nmnvgi.png
现在我需要JInternalFrame要添加的前一个画面如下, a busy cat http://i59.tinypic.com/2vifih1.png
我知道我可以只能够到的JInternalFrame添加到DesktopPane.But我 已经填满我用的JPanel contentPane中,以显示其content.How我能做到Jinternal 框架将被添加在此JFrame.Kindly给你宝贵的建议。
是的,我可以使用dialogs.But如果它的对话框它将完全控制focus.We不能将它最小化,我们不能打开它的另一个实例。我选择JinternalFrame。 – Prakash 2014-10-03 07:28:23
从技术上讲,您应该能够根据需要创建尽可能多的应用程序实例,假设您的意思是创建JVM的新实例。你可以设置一个非模态对话框,但是你不得不问一个为什么?你试图达到什么目标?对话是一种很好的方式从用户那里获得快速信息,然后可以被解雇... – MadProgrammer 2014-10-03 07:31:18
对不起。我不是指一个应用程序的实例。我真正需要的是什么,考虑我需要一个注册表单打开时,我点击一个菜单项。如果我使用对话框,我可以一次只能打开一个注册表单。但是,我需要什么是用户可以打开任意数量的登录屏幕。他没有完整的一个屏幕,然后再打开另一个屏幕。这是我工作的情况。请引导我朝着正确的方向前进。 – Prakash 2014-10-03 07:38:21