黑马程序员技术交流社区
标题:
JAVA的AWT组件问题
[打印本页]
作者:
张庚
时间:
2013-2-6 14:57
标题:
JAVA的AWT组件问题
package test;
import java.awt.*;
public class a extends Frame {
/**
* @param args
*/
MenuBar menubar;
Menu menu1,menu2;
MenuItem menuitem1,menuitem2;
a(){
Toolkit tool=getToolkit();
Dimension dim=tool.getScreenSize();
setBounds(0,0,dim.width/2,dim.height/2);
menubar=new MenuBar();
menu1=new Menu("文件");
menu2=new Menu("文件1");
menuitem1=new MenuItem("打开");
menuitem2=new MenuItem("保存");
menu1.add(menu2);
menu1.add(menuitem1);//请问这个menuitem1为什么没有包含在menu1中
menu2.add(menuitem1);
menu2.add(menuitem2);
menubar.add(menu1);
menubar.add(menu2);//为什么menubar,add了menu2,前面的menu1.add(menu2)就不包含menu2了
setMenuBar(menubar);
setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
a b=new a();
}
}
作者:
陈科宇
时间:
2013-2-6 15:22
menu1.add(menu2);
menu1.add(menuitem1);
// menuitem1是不允许同时被放在两个menu下的,就像人不可能同是在两个房间一样。
//以你最后一次添加的为准
menu2.add(menuitem1);
menu2.add(menuitem2);
menubar.add(menu1);
menubar.add(menu2);//
//其实你第二个问题和第一个问题,是同一类问题,java确保了这种单一包含
//关系,才不至于显示混乱。一个菜单怎么可能既是另一个菜单的子菜单又是其
//同级菜单,这是不符合界面显示的逻辑的。
//为什么menubar,add了menu2,前面的menu1.add(menu2)就不包含menu2了
setMenuBar(menubar);
作者:
折纸时代
时间:
2013-2-6 16:31
MenuBar , MenuItem, 还有Menu 三个吧??
MenuBar 是菜单栏. 相当于菜单项和菜单的承载体..
所有MenuBar可以包含MenuItem 和Menu.
而Menu是MenuItem的子扩展类.
可以包含Menu 和MenuItem
Menu是包含有下级内容的菜单.
而MenuItem就是一个菜单项,不能包含任何菜单或者菜单项了.
因为一个菜单类是一个对象,所以想要创建同样的对象在不同位置,就需要多个对象.
因为它不可能即在这里又在那里..
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2