我在netbeans平台下面开发GUI程序,我能不能开发出多文档界面(VB当中称为MDI),如果行的话,窗体之间如何进行数据交换,例如:一个窗体当中的文本框的内容赋值给另外一个窗体?

解决方案 »

  1.   

    http://www.818a.com/user1/java/archives/2006/501.asp
      

  2.   

    如果要使用JInternalFrame好像要先用JdesktopPane吧。
        private void isHangBan(String title) {
            superviseframes.jdesktoppane.add(JIF =
                    new HangBanInfo(title, superviseframes.dataread));
            JIF.setSize(superviseframes.jdesktoppane.getSize());
            JIF.setVisible(true);
        }
      

  3.   

    使用JDesktopPane和JInternalFrame
    package test;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;public class InternalFrameLXX {
      public static void main(String[] arg)
      {
          JFrame  frame=new FrameLXX();
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.setVisible(true);
       }}
    class FrameLXX extends JFrame{
       JDesktopPane desktoppane;
       JInternalFrame jinternalframe;
       JMenuBar jmenubar;
       JMenu jmenu;
       JMenuItem jmenuitem;
        public FrameLXX()
           {
               this.setSize(1000,1000);
               jmenubar=new JMenuBar();
               jmenu=new JMenu("GOD LXX");
               jmenuitem=new JMenuItem("NEW LXX");
               jmenuitem.addActionListener(new ActionListener()
               {
                   public void actionPerformed(ActionEvent event)
                   {
                       System.out.println("hahah ");
                       jinternalframe=new JInternalFrame("Angel LXX",
                                      true,
                                      true,
                                      true,
                                      false         );
                       jinternalframe.add(new JLabel("sdada"),BorderLayout.CENTER);
                       jinternalframe.reshape(300,300,150,150);
                       jinternalframe.setVisible(true);
                      desktoppane.add(jinternalframe,BorderLayout.CENTER);
                   }
               });
               jmenu.add(jmenuitem);
               jmenubar.add(jmenu);
               setJMenuBar(jmenubar);
               desktoppane=new JDesktopPane();
               add(desktoppane,BorderLayout.CENTER);       }
    }