CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

java 能否有 MDI窗体.

楼主qiaoxing2000(乔星)2002-12-03 13:55:34 在 Java / J2SE / 基础类 提问

java     能否有   MDI窗体.  
  主窗体,     子窗体在里面  
   
  可以用什么类 问题点数:100、回复次数:11Top

1 楼sunni(死猪)回复于 2002-12-03 14:09:05 得分 0

当然能   jb就是用java写的  
   
  你买一本java图形设计   swing     看看吧Top

2 楼qiaoxing2000(乔星)回复于 2002-12-03 14:29:01 得分 0

我要知道具体的类   用什么?  
   
  有例子吗?    
  Top

3 楼netwebs(Only Java)回复于 2002-12-03 14:49:59 得分 0

内部窗体就挺好Top

4 楼copyright(笨蛋白痴神经质)回复于 2002-12-03 15:01:37 得分 0

jb哪个我我想使用的tablepane吧,至于mdi的概念很少用到,:(Top

5 楼copyright(笨蛋白痴神经质)回复于 2002-12-03 22:25:38 得分 0

不过我的建议是:JLayeredPane和JInternalFrame被一起用来在当前帧中创建子帧,以产生多文件接口(MDI)应用程序。  
  呵呵,应该是你的效果吧,my   pointsTop

6 楼fastmask(我心烦)回复于 2002-12-03 22:43:10 得分 0

内部窗体是挺好Top

7 楼beyond_xiruo(CorruptionException)回复于 2002-12-03 23:57:24 得分 45

import   java.awt.*;    
  import   java.awt.event.*;    
  import   javax.swing.*;    
   
   
  class   QQQ   extends   JFrame    
  {    
  JDesktopPane   desk   =   new   JDesktopPane();    
  JInternalFrame   if1   =   new   JInternalFrame();    
  JInternalFrame   if2   =   new   JInternalFrame();    
  JButton   bt1   =   new   JButton("Switch   1");    
  JButton   bt2   =   new   JButton("Switch   2");    
  JButton   btOpen   =   new   JButton("Open");    
  JTextField   txt   =   new   JTextField("I   got   focus!");    
   
  QQQ()    
  {    
  JPanel   temp   =   new   JPanel();    
  temp.add(bt1);    
  temp.add(bt2);    
  temp.add(btOpen);    
  getContentPane().add(temp,   BorderLayout.NORTH);    
  getContentPane().add(desk,   BorderLayout.CENTER);    
  desk.add(if1);    
  desk.add(if2);    
  if1.getContentPane().add(txt,   BorderLayout.NORTH);    
  if1.reshape(10,10,100,100);    
  if2.reshape(30,30,100,100);    
  bt1.addActionListener(new   MyListener());    
  bt2.addActionListener(new   MyListener());    
  btOpen.addActionListener(new   MyListener());    
  setBounds(100,100,400,400);    
  show();    
  }    
   
  public   static   void   main(String[]   args)      
  {    
  QQQ   q   =   new   QQQ();    
  }    
  class   MyListener   implements   ActionListener    
  {    
  public   void   actionPerformed(ActionEvent   e)    
  {    
  try    
  {    
  if(e.getSource()==bt1)    
  if1.setSelected(true);    
  else   if(e.getSource()==bt2)    
  if2.setSelected(true);    
  else{    
  if1.setVisible(true);    
  if2.setVisible(true);    
  if1.setSelected(true);    
  txt.requestFocus();        
  }    
  }    
  catch   (Exception   ex)    
  {    
  }    
   
  }    
  };    
  }Top

8 楼Fancy_duan(笑天)回复于 2002-12-04 09:22:51 得分 45

用内部贞JInternalFrame,它生成的窗口,你就可以把它当成一个组件加在容器里(容器可以是JFrame、JWindow、jPanel)。可以看一下java的帮助文件,里面都有。下面是个拙劣的小程序,但基本原理就是这样,希望对你有帮助!:)  
   
  主窗口:  
   
  import   java.awt.*;  
  import   java.awt.event.*;  
  import   javax.swing.*;  
  import   javax.swing.event.*;  
   
  public   class   Demo    
  {  
        public   static   void   main(String   args[])  
        {  
             
            DFrame   frame=new   DFrame();  
            frame.show();  
        }  
  }  
   
  class   DFrame   extends   JFrame  
  {  
      public   DFrame()  
      {  
          setTitle("Demo   Frame");  
          setSize(800,600);  
          Container   cp=getContentPane();  
          DemoSon   s=new   DemoSon("Green   Desk",true,true,true,true);  
          cp.add(s,FlowLayout.LEFT);  
          s.show();  
      }  
  }  
   
  子窗口:  
   
  import   java.awt.*;  
  import   java.awt.event.*;  
  import   javax.swing.*;  
  import   javax.swing.event.*;  
   
  public   class   DemoSon   extends   JInternalFrame  
  {  
      public   DemoSon(String   title,boolean   resizable,boolean   closable,boolean   maximizable,boolean   iconifiable)  
      {  
          super(title,resizable,closable,maximizable,iconifiable);  
          setTitle("InternalFrameTest");  
          setSize(300,   200);  
          JPanel   bp=new   JPanel();  
          JButton   bt=new   JButton("Quit");  
          this.getContentPane().add(bt,BorderLayout.NORTH);  
      }  
  }  
   
  你也可以把它们合成一个,看情况而定。  
  Top

9 楼redkey(7P狼)回复于 2002-12-04 09:36:45 得分 0

使用JInternalFrameTop

10 楼PEgirl(曾经)回复于 2002-12-04 09:48:49 得分 0

JInternalFrame  
  Top

11 楼ilka()回复于 2002-12-04 09:56:58 得分 10

请运行jdk1.3目录\demo\jfc\SwingSet2\swingset2.jar  
  里面有例子及源代码Top

相关问题

  • 普通窗体能否调用MDI窗体??
  • MDI窗体
  • 请问MDI窗体中能否放一个flash呢?
  • MDI窗体报错!
  • 关于Mdi窗体
  • mdi窗体问题?
  • MDI窗体问题
  • 关于MDI窗体
  • 关于mdi窗体
  • MDI窗体问题

关键词

  • bt
  • swing
  • 窗体
  • jinternalframe
  • demoson
  • dframe
  • jbutton
  • btopen
  • mdi
  • desk

得分解答快速导航

  • 帖主:qiaoxing2000
  • beyond_xiruo
  • Fancy_duan
  • ilka

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo