CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

有关继承Frame的问题

楼主wingofsea(翱翔的翼)2004-08-02 16:56:18 在 Java / J2SE / 基础类 提问

写了两个Frame,一个是BaseFrame,其中设置了菜单栏和工具栏,其他的Frame都继承这个Frame,程序如下:  
  BaseFrame.java  
  package   toolbar;  
   
  import   javax.swing.*;  
  import   java.awt.*;  
   
  public   class   BaseFrame   extends   JFrame  
  {  
    JMenuBar     menuB   =   new   JMenuBar();  
    JMenu   fileMenu   =   new   JMenu("文件");  
    JMenuItem   openItem   =   new   JMenuItem("打开");  
    JMenuItem   saveItem   =   new   JMenuItem("保存");  
     
    JToolBar   toolBar   =   new   JToolBar("工具栏");  
     
     
    public   BaseFrame()  
    {  
    setTitle("BaseFrame");  
    setSize(new   Dimension(400,400));  
    setLocation(0,0);  
    getContentPane().setLayout(new   BorderLayout());  
    getContentPane().add(new   JButton("测试"),"South");  
     
     
    setJMenuBar(menuB);  
    menuB.add(fileMenu);  
    fileMenu.add(openItem);  
    fileMenu.add(saveItem);  
     
    JButton   openButton   =   new   JButton("打开",new   ImageIcon("1.gif"));  
    JButton   saveButton   =   new   JButton("保存",new   ImageIcon("2.gif"));  
    toolBar.add(openButton);  
    toolBar.add(saveButton);  
    getContentPane().add(toolBar,"North");  
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  }  
  }  
     
  AppFrame.java  
  package   toolbar;  
   
  import   javax.swing.*;  
  import   java.awt.*;  
   
  public   class   AppFrame   extends   BaseFrame{  
      public   AppFrame()  
      {  
      setTitle("AppFrame   继承BaseFrame");  
      setLocation(300,300);  
  //如果重新布局,菜单条和BaseFrame中的“测试“按钮都不会显示  
      getContentPane().setLayout(new   BorderLayout());  
      getContentPane().add(new   JButton("hello"),"Center");  
      }  
       
      public   static   void   main(String[]   args)  
      {  
      AppFrame   f   =   new   AppFrame();  
      f.show();  
      }  
       
      }  
   
  是不是因为如果在AppFrame中重新布局的话,setLayout(new   BorderLayout());会删除掉BaseFrame中原有的布局,所以工具栏等都不会显示,而菜单条因为不涉及布局,所以可以正常显示?谢谢各位大侠 问题点数:20、回复次数:1Top

1 楼anihc_001(初生牛犊(I Love Coffe))回复于 2004-08-02 22:18:27 得分 20

顶,这个问题比较深刻.Top

相关问题

  • 一个有关继承的问题!
  • 一个有关继承的问题!!!
  • 有关继承涵数的问题!
  • 问一个有关继承的问题
  • [请教]关于继承Frame类!
  • 关于Frame的继承问题
  • 有关代码重用的问题,对Form的继承。
  • 有关类继承问题,请大虾帮忙!
  • override.......有关类的继承和多态的一些疑问。。。。。。>>>>>>>>>>
  • 请教有关public/protect/private三种继承方式

关键词

  • toolbar
  • baseframe
  • filemenu
  • jmenuitem
  • menub
  • jbutton
  • frame
  • getcontentpane
  • add

得分解答快速导航

  • 帖主:wingofsea
  • anihc_001

相关链接

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

广告也精彩

反馈

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