欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第21-22讲图形用户界面.ppt

    • 资源ID:2548389       资源大小:703.01KB        全文页数:44页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第21-22讲图形用户界面.ppt

    第十一章,图形用户界面(GUI)设计,学习目标:,GUI相关概念 布局管理器的概念和使用方法 事件处理的方法和过程 常用Swing组件的使用,11.1 图形用户界面概述,(1) java.awt包AWT组件重组件,Button(按钮)、TextField(文本框),(2) javax.swing包Swing组件轻组件,JButton(按钮)、JTextField(文本框),观感,Windows观感,Java观感,Motif观感,11.1 图形用户界面概述,2、组件、容器、布局和观感,(1)组件: 可图形化的方式显示在屏幕上,能够与用户交互。 (2)容器: 一种特殊的组件,能容纳其他组件或容器。 顶层容器:JFrame、JApplet、JWindow、JDialog 中间层容器:JPanel、JScrollPane、JTabbedPane 添加组件:add() 删除组件:remove(),(3)布局: 专门管理组件在容器中的布局的工具布局管理器 (4)观感: 决定swing应用程序的外观。默认Java观感(又称为Metal观感),11.1 图形用户界面概述,11.2 布局管理器,Java中的布局类型包括以下几种: FlowLayout(流式布局) BorderLayout (边界布局) CardLayout(卡片布局) GridLayout(网格布局) GridBagLayout(网格包布局),一种最简单的布局。组件一个接一个从左到右、从上到下一排一排依次放在容器中。默认的每一行的组件都居中对齐,水平和垂直间隙是5个像素。 FlowLayout是Panel、Jpanel、Applet的默认布局管理器 构造方法: FlowLayout(); FlowLayout(int align); FlowLayout(int align,int hgap,int vgap);,12.2.2 FlowLayout布局,import java.awt.*; import javax.swing.*; public class FlowLayoutDemo extends JFrame public FlowLayoutDemo() super(“FlowLayout布局“); Container c=getContentPane(); FlowLayout f=new FlowLayout(FlowLayout.LEFT,10,10); c.setLayout(f); for(int i=1;i=10;i+) c.add(new JButton(“按钮“+i); public static void main(String args) JFrame frame=new FlowLayoutDemo(); frame.setSize(250,200); frame.setVisible(true); ,又叫边界布局管理器。将容器分为东(EAST)、南(SOUTH)、西(WEST)、北(NORTH)、中(CENTER)五个区。 按照“上北下南,左西右东”的规则分配 Window、Dialog、Frame的默认布局;JFrame、JApplet、JDialog的内容窗格的默认布局 构造方法: BorderLayout() BorderLayout(int hgap,int vgap),11.2.3 BorderLayout布局,将布局分为若干个大小相等的网格。当容器尺寸改变时,组件大小改变,但相对位置不变 构造方法: GridLayout() GridLayout(int rows,int cols) GridLayout(int rows,int cols,int hgap,int vgap),11.2.4 GridLayout布局,11.2.5 CardLayout,类似于卡片的布局设置,CardLayout的主要方法: first(Container parent):翻转到容器的第一张卡片 last(Container parent):翻转到容器的最后一张卡片 next(Container parent):翻转到容器的下一张卡片 previous(Container parent):翻转到容器的上一张卡片 show(Container parent, String name): 翻转到已添加的指定name的组件,使用GridBagLayout实现如图所示布局效果,11.2.6GridBagLayout,BoxLayout 盒式布局的容器将组件排列在一行或一列,这取决于创建盒式布局对象时是否指定行排列还是列排列。 构造方法: BoxLayout(Container target,int axis) X_AXIS Y_AXIS Box类: createHorizontalBox() createVerticalBox() createHorizontalStruct(int width) createVerticalStruct(int height),11.2.7 Swing布局管理器,11.3.1 事件处理模式,Java 的事件处理模型:授权处理模型 事件源:产生事件的组件,如JButton。 事件对象:触发事件后系统会自动创建事件类的对象,XxxEvent。 监听器:处理事件的实体,XxxListener。,授权处理模型,11.3.3 事件处理方法,(1)实现事件监听器接口法: 定义类来实现这些接口,实现接口中所有的事件处理方法,用不到的写成空方法。 e.getSource()返回事件源对象,class ButtonClick implements ActionListener public void actionPerformed(ActionEvent e) /具体处理事件的代码 if(e.getSource=button1) . . . . . . ,例一:,例二:,例三:,例四:,总结:,图形用户界面基本知识 布局管理器 事件处理,11.4 常用Swing组件,常用容器组件 JFrame JPanel JScrollPane、JSplitPane、JInternalFrame JButton JTextField、JPasswordField、JTextArea JCheckBox JRadioButton JList JComboBox,JFrame,1、简介: JFrame是带标题、边框、窗口状态调节按钮的顶层窗口。 可以是构建Swing GUI应用程序的主窗口,也可以是附属于其他窗口的弹出窗口。 每一个Swing GUI应用程序都至少应包含一个窗体 默认布局为BorderLayout。,2、构造方法 JFrame( ) JFrame(String Title) 3、常用方法: setVisible(true) setSize(长,宽) setResizable(boolean b) setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE),JFrame窗体,import java.awt.*; import javax.swing.*; public class JFrameDemo extends JFrame public JFrameDemo() super(“myJFrame“); Container c=getContentPane(); JButton b1=new JButton(“按钮1“); c.add(b1); public static void main(String args) JFrameDemo frame=new JFrameDemo(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400,100); frame.setVisible(true); ,举例1:JFrame的应用,JPanel,JPanel:一种中间容器,可以容纳组件,但他本身必须添加到其他容器中使用。 为了能够更好的管理各组件,我们可以创建多个JPanel。 创建一个面板,默认布局FlowLayout。 new JPanel( ),JScrollPane:把一个组件放入一个滚动窗格,有滚动条。 new JScrollPane(component c ) JSplitPane:被分成两部分的容器 JInternalFrame:内部窗格,JScrollPane、JSplitPane、JInternalFrame,举例:ScrollDemo.java 推荐: Sun官网提供的swing的介绍http:/java.sun.com/docs/books/tutorial/uiswing/index.html,JSplitPane,JTextField文本框,构造方法: JTextField( ) , JTextField(int columns) ,JTextField(String text) ,JTextField(String text, int columns) 常用方法: String getText( ) void setText(String text) void setEditable(boolean b) void setHorizontalAlignment(int alignment),JPasswordField密码框,构造方法同JTextField 常用方法: char getPassword( ) char getEchoChar( ) void setEchoChar(char c),JTextArea文本域(多行),构造方法 JTextArea( ) ,JTextArea(int rows, int cols) ,JTextArea(String text) ,JTextArea(String text, int rows, int cols) 使用JScrollPane加滚动条 常用方法: String getText( ) void setText(String text) void copy() void cut() void paste(),JButton按钮,构造方法 可设置文本和图标 常用方法: void setMnemonic(int c) 设置键盘激活,JLabel标签,构造方法 可设置文本、对齐方式和图标 常用方法: String getText( ) void setText(String text),JCheckBox复选框,构造方法 JCheckBox(Icon icon ,boolean selected ) JcheckBox(String text , boolean selected ) JCheckBox(String text, Icon icon) JCheckBox(String text, Icon icon, boolean selected) 常用方法: boolean isSelected(),JRadioButton单选按钮,构造 创建组 ButtonGroup group=new ButtonGroup(); 向组中添加项 JRadioButton b1=new JRadioButton(“男”); JRadioButton b2=new JRadioButton(“女”); group.add(b1); group.add(bw); 常用方法: boolean isSelected(),JComboBox下拉列表,下拉列表组件JComboBox 构造 JComboBox( ) JComboBox(Object items) 常用方法: void setSelectedIndex() object getSelectedItem(),11.5 高级组件,JSlider 菜单 JMenuBar、JMenu、JMenuItem、JPopupMenu JTable JTabbedPane 对话框 JOptionPane、JFileChooser,11.5.2 菜单,1、JMenuBar菜单条 一个窗口只能有一个菜单条。,JMenuBar menuBar=new JMenuBar(); frame.setJMenuBar(menuBar);,2、JMenu菜单 一个菜单条上可以有多个菜单。,JMenu menu1=new JMenu(“文件”); JMenu menu2=new JMenu(“帮助”); menuBar.add(menu1); menuBar.add(menu2);,11.5.2 菜单组件,3、JMenuIterm菜单项 一个菜单上可以有多个菜单项。,JMenuItem item1=new JMenuItem(“打开”); JMenuItem item2=new JMenuItem(“退出”); menu1.add(item1); menu1.addSeparator(); menu1.add(item2);,11.5.3表格组件JTable,构造方法 JTable(Object data ,Object columnName ) DefaultTableModel myData = new DefaultTableModel(Object data ,Object column ); JTable table = new JTable(myData); 当组件需要更新显示时: table.epaint(),表内容,表头,表内容,表头,DefaultTableModel类: 构造方法: DefaultTableModel(Object data, Object columnNames) DefaultTableModel(object columnNames,int rowCount) 主要方法: addRow(Object rowData) addColumn(Object columnName) setValueAt(Object aValue, int row,int col) getValueAt(int row,int col),11.5.3表格组件JTable,JTableDemo.java,JTabbedPane,本章小结,常用布局管理器的使用 Java的事件处理机制 Java的常用组件 Java的高级组件,

    注意事项

    本文(第21-22讲图形用户界面.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开