- 第一卷
- 第二卷
Java语言很类似C和C++语言。在C语言里,通过在命令行输入参数,C程序可由main函数读入这?copy;参数,java程序也一样,请看下面程序:Filename:
javaclassMy2{
publicstaticvoidmain(Stringargs[]){
intarc=args.length;
if(arc>0){
for(inti=0;i){
m=newMemo(args[0]);
}else{
m=newMemo();
}
m.start();
}
}
将Frame联系起来l熟悉的函数paint()和mouseDown(),看起来有点眼熟。这?copy;函数与applet的函数一样。实际上,一个frame包含各种GUI组件与applet的形式一样。另一个熟悉的函数是start()。这个函数并不必要,因为我们没有覆盖任何已存在的函数。但你想继承applet编程的风格,你还是可以使用start(),stop(),init()与destroy()等函数。l新函数我们熟悉的函数start()调用了show()。show()函数是Window类的继承,它显示Fame及其所有组件。在mouseDown()函数里我们看到两个函数:hide()和dispose()。hide()只简单地使Frame不可见。你可以在任何时候调用它来隐藏窗口。dispose()函数释放由Frame占有的系统资源。只有在你不需要Frame时才调用它。 l构造函数Memo例子还包含了一个新函数Memo()。其实这个类有两个Memo()函数!任何与类名相同的函数都是构造函数。它在创建一个新对象时被调用。你可以认为它是一个对象的init()初始化函数。为什么需要两个构造函数呢?有了两个构造函数,我们可以利用多态性的优点,有两种方法创建一个新Memo对象。我们可以简单的创建使用缺省信息的Memo对象:m=newMemo();或者,我们可以自己提?copy;信息:m=newMemo("Ourmessage");Frame控制本程序的最后功能是在main()里建立并显示frame。它由以下两步实现://Step1m=newMemo();//Step2m.start();第一步初始化memo对象。我们象操作其它对象一样操作m。为显示frame,我们需要调用show()。这在第二步里实现。另一个要注意的是程序的健壮性:我们基本的frame里没有包含处理标准WINDOW_DESTROY消息的函数。这样,你将不能在窗口的控制菜单里选中"Quit"或"Exit"。为了增加这个功能,你需要增加以下的处理程序:
publicbooleanhandleEvent(Evente){
if(e.id==Event.WINDOW_DESTROY){
dispose();
System.exit(1);
returntrue;
}else{
//Goaheadanddowhatwenormallywouldhavedonereturnsuper.handleEvent(e);
}
}
菜单图形界面依靠菜单来指导用户操作。设计独立的Java应用程序时,Java提?copy;创建和使用菜单的直接方法。象其它组件一样,new将创建一个菜单:MenuoptionMenu;optionsMenu=newMenu("Options");菜单项一?copy;你创建了一个菜单,你可以使用add()来组建菜单项:optionsMenu.add(newMenuItem(\"Option1\")
;optionsMenu.add(newMenuItem(\"Option2\")
;菜单事件当你选中某个菜单项时,你创建此菜单项的字符?reg;将在事件中返回。你可以象测试按钮选择一样测试菜单选择:
publicbooleanaction(Evente,Objectarg){
...
if(e.targetinstanceofMenuItem){
System.out.println((String)arg);
}
...
}
其它菜单项除了上面描述的简单菜单项外,你还可增加CheckBox菜单项,分割线,以及子菜单。下面是一?copy;例子:
Menum,n;
m=newMenu("Examples");
m.add(newMenuItem("Basic"));
m.add(newMenuItem("Simple"));
//addaseparatorm.add(newMenuItem("-"));
//addaCheckboxitemm.add(newCheckboxMenuItem("Check"));
//addasubmenun=newMenu("MoreExamples");
n.add(newMenuItem("SubBasic"));
n.add(newMenuItem("SubSimple"));
m.add(n);
菜单条你创建好菜单后,你应将?reg;放在应用程序的菜单条上:
mb=newMenubar();
mb.add(m);
mb.add(optionsMenu);
然后你可为applet设置菜单条:setMenuBar(mb);