欢迎来到天天文库
浏览记录
ID:26956559
大小:379.00 KB
页数:63页
时间:2018-11-30
《《组件及事件处》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章组件及事件处理王磊(副教授)9.1图形用户界面概述一、Java语言平台无关性组件的实现图形用户界面GUI可以通过键盘或鼠标来响应用户的操作,是当今流行的操作系统界面。Java语言为了适应发展趋势,也具有开发图形化的用户界面的功能。Java语言自身的特点要求其图形用户界面具有平台无关性。9.1图形用户界面概述早期的Java版本JDK1.0和JDK1.1采用的是AWT组件(抽象窗口工具)。特点是简单、易于理解。AWT是一组Java类,此组Java类允许创建图形用户界面(GUI)。AWT组件中采用了一种称为对等体(p
2、eer)的机制,每个组件都有一个对应的对等体,是用具体的操作系统平台的开发工具开发的,负责在AWT组件与本地平台之间进行交互。同一个AWT组件在不同的平台上显示出不同的外观,种类不可能太多,这大大限制了Java语言程序的使用和推广。9.1图形用户界面概述Java1.2版,图形用户界面功能被大幅度地扩展,形成了称为Java基础类库(JavaFoundationClass,JFC)的一整套API集合,包括以下5个部分:⑴抽象窗口工具;⑵Swing图形界面类库;⑶支持二维图形的类库(Java2D);⑷支持拖放的类库(Dra
3、gandDrop);⑸支持易用性的类库(Accessibility)。主要的部分是Swing图形界面类库。9.1图形用户界面概述Swing组件是用纯Java实现的,在不同的平台上其表现是一致的。这是它与AWT组件的最大区别.Swing组件实现了平台无关的Java语言。Swing组件是AWT组件的扩展,它提供了许多新的图形用户界面组件。因为大部分AWT组件都在Swing组件中进行了重写,所以本章后面我们在介绍组件的时候将以Swing组件为主。Swing组件的类以字母“J”开头,除了保留有与AWT类似的组件之外,又增加了
4、丰富的高层组件。javx.swing包中的体系结构ObjectComponentJFrameContainerWindowFrameDialogJDialogJTextJComboBoxJLabelJListJMenuBarJOptionPaneJPanelJScrollBarAbstractButtonJToggleButtonJMenuItemJButtonJCheckBoxJRadioButtonJComponentJMenu注意:JComponent和Componet类之间的关系9.4Swing组件的使用一、
5、组件的分类Swing组件从功能上可以分成如下几类:⒈顶层容器:即JFrame、JApplet、JDialog、JWindow等四个重量级组件。基本的Swing组件(例如,JButton、JTextField等)不能直接添加在顶级容器内,需要一个内容面板Panel(普通容器)辅助。⒉普通容器(内容面板):使用在各种不同的情况下的中间容器,如JPanel、JScrollPane、JSplitPane、JTabbedPane等,一般可以被添加到顶层容器中。9.4Swing组件的使用一、组件的分类⒊特殊容器:在GUI上起特殊
6、作用的中间层容器,如JInternalFrame、JLayeredPane、JRootPane、JToolBar、JOptionPane等。⒋基本组件:可以实现人机交互的组件,如JButton、JToggleButton、JRadioButton、JCheckBox、JComboBox、JList、JSlider、JScrollBar等,通常是界面上的主要角色。9.4Swing组件的使用⒌不可编辑信息显示:向用户显示不可编辑信息的组件,如JLabel、JProgressBar、JToolTip等,大多是起一个信息提示
7、的作用。⒍可编辑的格式化信息的显示:向用户显示能被编辑的格式化信息的组件,如JTable,JTree,JColorChooser和JFileChooser,用来实现用户与机器之间的信息交互工作。SwingGUI框架你好,世界菜单栏顶级容器FrameGUI组件GUI组件内容面板Panel普通容器基本的Swing应用程序importjavax.swing.*;publicclassHelloSwing{publicstaticvoidmain(String[]args){JFrameframe=newJFrame("He
8、lloSwing");JLabellabel=newJLabel("你好,Swing");frame.getContentPane().add(label);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,200);frame.setVisible(t
此文档下载收益归作者所有