欢迎来到天天文库
浏览记录
ID:19251831
大小:74.50 KB
页数:11页
时间:2018-09-30
《java中的swing常用组件讲解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在Java1.0中,已经有一个用于GUI编程的类库AWT,称之为抽象窗口工具箱。遗憾的是,AWT中的组件(例如按钮,类名为Button)在实现中使用了本地代码(NativeCode),这些组件的创建和行为是由应用程序所在平台上的本地GUI工具来处理的。因此,AWT组件要在不同的平台上提供给用户一致的行为就受到了很大的限制。同时,AWT组件中还存在很多bug,这就使得使用AWT来开发跨平台的GUI应用程序困难重重。 1996年,SUN公司和Netsacpe公司在一个称为Swing的项目中合作完善了Netsa
2、cpe公司原来开发的一套GUI库,也就是现在所谓的Swing组件。Swing组件和原来的AWT组件完全不同,最大的区别就是Swing组件的实现中没有使用本地代码,这样对底层平台的依赖型就大为降低,并且可以给不同平台的用户一致的感觉。此外,和原来的AWT相比,Swing中提供了内容更多、使用更为方便的组件。 在阅读一些书籍时,常会遇到名词JFC(JavaFoundationClass)。JFC的概念是在1997年的JavaOne开发者大会上首次提出的,是指用于构建GUI的一组API。实际上,Swing只是J
3、FC的一部分,其它的还有二维图形(Java2D)API以及拖放(DragandDrop)API等等。 Swing并不是完全取代了AWT,Swing只是使用更好的GUI组件(如JButton)代替AWT中相应的GUI组件(如Button),并且增加了一些AWT中原来所没有的GUI组件。并且,Swing仍使用AWT1.1的事件处理模型。 虽然现在AWT组件仍得到支持,但是建议在你的应用程序中尽量使用Swing组件和1.1的事件模型。 1.标签(JLabel) 标签(JLabel)通常是用来标识另外一个组
4、件的含义。以在标签上显示文字、图象或是文字图象的组合。 JLabellabText=newJLabel(“文本标签”); labText.setText("文本标签"); ImageIconicon=newImageIcon("image/greenflag20.gif"); JLabellabImage=newJLabel(icon); labImage.setIcon(icon); 2.密码框(JPasswordField) 密码框实际上是一种特殊类型的文本框,用户可以向其中输入文本并加以
5、编辑。和文本框不同的是,向密码框中输入文本时,显示的不是实际输入的文本,而是特殊的回显字符(通常是'*')。可以使用setEchoChar(charc)方法来改变缺省的回显字符。 需要注意的是,取得文本框中的文本时,使用方法getText(),该方法返回的是一个String类型的对象;而要取得密码框中的文本,使用方法getPassword(),该方法返回的是一个char数组。 例如,创建了一个密码框: JPasswordFieldtxtPwd=newJPasswrodField(20); 设定该密码
6、框的回显字符为'#': txtPwd.setEchoChar('#'); 取得密码框中的内容: char[]pwd=txtPwd.getPassword(); 也可以方便地将char数组转化为String类型的对象: StringpwdStr=newString(txtP.getPassword()); 3.菜单 (1)菜单也是一种常用的GUI组件,菜单采用的是一种层次结构,最顶层是菜单栏(JMenuBar);在菜单栏中可以添加若干个菜单(JMenu),每个菜单中又可以添加若干个菜单选项(JM
7、enuItem)、分隔线(Separator)或是菜单(称之为子菜单)。 (2)构建应用程序的菜单时,先创建一个菜单栏: JMemuBarmenuBar=newJMenuBar(); 通常使用框架的setJMenuBar(JMenuBaraMenuBar)方法将菜单栏置于框架中: frame.setJMenuBar(menuBar); 随后,创建所需要的各菜单并逐个添加到菜单栏中,例如: JMenumenuDBAccount=newJMenu("电表出帐(C)"); ... JMenumen
8、uSysConfig=newJMenu("系统设置(X)"); menuBar.add(menuDBAccount); ... menuBar.add(menuSysConfig); 最后,向各个菜单中添加菜单选项、分隔线或是子菜单,如图所示的系统设置菜单为例: //创建菜单选项或是子菜单 JMenuItemsysConfigItem=newJMenuItem("参数设置(S)..."); JMen
此文档下载收益归作者所有