欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Java图形用户界面编程.ppt

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

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

    Java图形用户界面编程.ppt

    线程:是进程内部单一的一个顺序控制流。线程和进程每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大。线程:轻量的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换的开销小。多线程:在同一个进程中有多个顺序流同时执行Java的线程是通过java.lang.Thread类来实现的。每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体(即线程的可执行代码)。,返回,多线程回顾,多线程回顾,要将一段代码在一个新的线程上运行,该代码应该在一个类的run函数中,并且函数所在的类是Thread类的子类,子类要覆盖Thread类中的run函数,在子类的run函数中调用想在新线程上运行的程序代码。启动一个新的线程,我们不是直接调用Thread的子类对象的run函数,而是调用Thread子类对象的start(从Thread类继承到的)方法,Thread类对象的start方法将产生一个新的线程,并在该线程上运行该Thread类对象中的run方法。由于线程的代码段在run方法中,那么该方法执行完成后线程也就相应的结束了。因而我们可以通过控制run方法中循环的条件来控制线程的结束。,1.继承类Thread public class Mythread extends Thread 2.实现接口Runnablepublic class Mythread implements Runnable3.上述两种方法中都可用类Thread产生线程的对象 Thread newthread;4.创建并启动线程 newthread=new Thread();newthread.start();5.run方法是运行线程的主体,启动线程时,由JVM直接调用 public void run()6 sleep方法的作用,暂停(毫秒时间的)线程的执行,让其它线程得到机会,sleep要丢出异常,必须捕获。Trysleep(1000);catch(InterruptedException e),返回,多线程回顾,第12章 图形用户界面(GUI)Graphics User Interface,Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE,J2ME和J2EE,这也就是SunONE(Open NetEnvironment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。,补充计算机基础知识,什么是C/S模式?C/S(Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种。C/S模式简单地讲就是基于企业内部网络的应用系统。与B/S(Browser/Server,浏览器/服务器)模式相比,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。什么是B/S模式?B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。,补充计算机基础知识,一、B/S模式的优点和缺点 B/S结构的优点(1)、具有分布性特点,可以随时随地进行查询、浏览等业务处理。(2)、业务扩展简单方便,通过增加网页即可增加服务器功能。(3)、维护简单方便,只需要改变网页,即可实现所有用户的同步更新。(4)、开发简单,共享性强 B/S 模式的缺点(1)、个性化特点明显降低,无法实现具有个性化的功能要求。(2)、操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。(3)、页面动态刷新,响应速度明显降低。(4)、无法实现分页显示,给数据库访问造成较大的压力。(5)、功能弱化,难以实现传统模式下的特殊功能要求。二、C/S 模式的优点和缺点 C/S 模式的优点 1.由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。2.操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。3.C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。C/S 模式的缺点 1.需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。2.兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。3.开发成本较高,需要具有一定专业水准的技术人员才能完成。,补充计算机基础知识,7.1 图形用户界面设计基础,图形用户界面(Graphics User Interface,简称GUI)是指以图形的方式实现人与计算机之间的交互。在该界面下用户往往只需通过单击、双击、拖曳鼠标和简单的文字键入就可以轻松地操作计算机完成任务。图形用户界面生动形象、操作直观简便。,一、AWT与Swing,Java类库中提供AWT(Abstract Window Toolkit-抽象窗口工具集)和Swing两套组件是Java类库中提供的两类来实现图形用户界面;AWT由java.awt包提供,Swing由javax.swing包提供。其中均包含了用于设计图形用户界面的各种组件、布局管理器和事件类;Swing是Java语言提供的第二代设计工具,它以AWT为基础,提供了比AWT更多的特性和工具,用于建立更复杂的图形用户界面。现在常采用Swing组件来开发GUI应用程序。,1、Swing组件的体系结构,基本组件Component,容器Container,2、Swing组件的分类,从功能上分为:容器和基本组件;容器又分为顶层容器和中间层容器。顶层容器:JFrame、JDialog、JApplet。用于构造图形用户界面的窗口,并容纳其它容器和组件,它们可以独立存在。中间层容器:JPanel、JScrollPane、JToolBar等。容纳其它组件,但是不能独立存在,需要添加到其它容器中。通常用来按功能组织基本组件。基本组件:按钮JButton、文本框JTextField等等。是图形用户界面的基本组成单位,不能独立存在,必须将其添加到一定的容器中。,二、容器与布局管理器,容器用于容纳组件,布局管理器用来设置容器中各个组件的排列方式。1、顶层容器与窗口 每一个Java的GUI程序都必须至少包含一个顶层容器组件作为窗口;Swing中最常用的顶层容器类JFrame:用它创建的框架窗口可以独立存在,并且带有边框、标题及用于关闭和最大化/最小化窗口的图标按钮。,创建一个框架窗口,import javax.swing.*;public class JFrameDemo extends JFrame public JFrameDemo()super(JFrame窗口);setBounds(50,50,300,120);setDefaultCloseOperation(EXIT_ON_CLOSE);setVisible(true);public static void main(String args)JFrameDemo f=new JFrameDemo();,JFrame类常用的方法,void setLayout(LayoutManager manager)viod add(Component comp)void setBounds(int x,int y,int width,int height)void setTitle(String title)void setVisible(Boolean b)setDefaultCloseOperation(EXIT_ON_CLOSE)Container getContentPane()所列出的大部分方法也适用于其它容器和组件,2、布局管理器,布局管理器是java.awt包中提供的专门用于设置容器中组件排列方式的类,常用的有FlowLayout、BorderLayout和GridLayout等几种。每一种容器都有一个默认的布局管理器,通过setLayout方法可以改变容器的布局方式。,流式布局举例,public class FlowLayDemo extends JFrame private JButton myButton1,myButton2,myButton3,myButton4,myButton5;public FlowLayDemo()/FlowLayDemo类的构造方法 super(流式布局);setBounds(50,50,300,120);setLayout(new FlowLayout();/设置窗口为流式布局setDefaultCloseOperation(EXIT_ON_CLOSE);setVisible(true);myButton1=new JButton(第一个按钮);/生成按钮对象myButton2=new JButton(第二个按钮);myButton3=new JButton(第三个按钮);myButton4=new JButton(第四个按钮);myButton5=new JButton(第五个按钮);add(myButton1);/添加按钮到窗口上图7.4(a)流式布局add(myButton2);add(myButton3);add(myButton4);add(myButton5);public static void main(String args)FlowLayDemo f=new FlowLayDemo();,边界布局举例,public class BorLayDemo extends JFrame private JButton myButton1,myButton2,myButton3,myButton4,myButton5;public BorLayDemo()super(边界布局);setBounds(50,50,300,120);setLayout(new BorderLayout();/设置窗口为边界布局setDefaultCloseOperation(EXIT_ON_CLOSE);setVisible(true);myButton1=new JButton(东边按钮);myButton2=new JButton(南边按钮);myButton3=new JButton(西边按钮);myButton4=new JButton(北边按钮);myButton5=new JButton(中间按钮);add(East,myButton1);/添加按钮到窗口指定方位add(South,myButton2);add(West,myButton3);add(North,myButton4);add(Center,myButton5);public static void main(String args)BorLayDemo f=new BorLayDemo();,网格布局举例,public class GridLayDemo extends JFrame private String names=按钮1,按钮2,按钮3,按钮4,按钮5,按钮6;public GridLayDemo()super(网格布局);setBounds(50,50,300,120);setLayout(new GridLayout(3,3);/设置三行三列网格布局setDefaultCloseOperation(EXIT_ON_CLOSE);setVisible(true);for(int i=0;inames.length;i+)add(new JButton(namesi);/依次添加各个按钮 public static void main(String args)GridLayDemo f=new GridLayDemo();,一、常用Swing组件,1JLabel标签标签用于在窗口界面上显示一行提示性或说明性的文字。标签只能显示信息,不能用于输入。JLabel类比较常用的方法有:String getText():获取标签上的文字void setText(String text):设置标签显示的文字为textvoid setFont(Font f):设置标签文字的字体,一、常用Swing组件,2JButton按钮按钮是图形用户界面中最常见的组件,用来控制程序运行的方向。用户单击按钮时会产生ActionEvent事件,计算机将相应地执行一系列命令完成一定功能。JButton类比较常用的方法有:void setText(String text):设置按钮上的标识文字为textString getText():获得按钮上的标识文字,一、常用Swing组件,3JTextField文本框文本框是一个单行文本编辑框,用于接收用户输入的一行文字,也可以显示一行文字。JTextField类比较常用的方法有:String getText():获得文本框中的文本内容void setText(String text):设置文本框的文本内容,一、常用Swing组件,4JTextArea文本区 文本区是一个多行文本编辑框,用于接收用户输入的多行文字,也可以显示多行文字。当文本区的内容装满时不会自动产生滚动条,需要将文本区组件添加到JScrollPane(滚动面板)上才能实现滚动条效果。JTextArea类具有上面列出的JTextField的相同方法,另外其比较常用的方法还有:String getSelected():获取被选中的文本void append(String text):在文本区尾部添加文本text,一、常用Swing组件,5JRadioButton单选按钮单选按钮只有“选中”和“未选中”两种状态,通常用一组单选按钮实现“多选一”的功能。在java中必须使用按钮组类(javax.swing.ButtonGroup)实现将多个单选按钮位于同一组中。注意,ButtonGroup仅仅是一个逻辑上的组件,在Palette组件板上并不存在该组件,因此需要自行定义ButtonGroup类的对象,并调用该类的add()方法将多个JRadioButton对象一一添加到ButtonGroup类对象中。JRadioBunon类比较常用的方法有:void setSelected(booleanb):设置一个单选按钮的状态,b为true表明选中void setText(Stringtext):设置单选按钮上显示的文字boolean isSelected():返回按钮的状态,如果是选中的则返回 true,否则返回 false,一、常用Swing组件,6JCheckBox复选框复选框也有“选中”和“未选中”两种状态,通常用一组复选框提供一组选项供用户选择。与单选按钮不同的是,在一组复选框中,可以同时选中多个复选框,也可以不选中任何一个复选框。JCheckBox类比较常用的方法基本上与JRadioButton类的相同。,一、常用Swing组件,7JList列表框列表框能够容纳并显示一组选项,供用户从中选择一项或多项,但不能对其进行编辑。与文本区相似,列表框中的内容增多时不会自动产生滚动条,也需要通过JScrollPane(滚动面板)才能实现滚动条效果。JList类比较常用的方法有:JList():创建一个没有选项的列表框JList(Vector vect):创建一个列表框,其中的选项由向量表vect决定JList(Object items):创建一个列表框,其中的选项由对象数组items决定void setSelectionMode(intselectionMode):设置列表框支持单选还是多选void setVisibleRowCount(int visibleRowCount):设置列表框中可显示的行数Object getSelectedValue():获取被选中项的内容int getSelectedIndex(int i):获取被选中项的序号,从0开始,没有选中时值为-1void setListData(Vector listData):设置列表框中的选项,参数是一个向量表。,一、常用Swing组件,8JComboBox组合框组合框是向用户提供多种选项的组件,其通常的显示形式是右边带有下拉箭头的文本框。可以在其文本框中输人选项,也可以单击下拉箭头从显示的列表中进行选择。默认组合框是不能编辑的,需要通过setEditable(true)设为可编辑。JComboBox类比较常用的方法有:JComboBox():建立一个无选项的组合框JComboBox(Object items):创建一个组合框,其中的选项由对象数组items决定void addItem(Object object):通过字符串类或其他类为组合框添加选项int getSelectedIndex():获取被选中项的序号,从0开始,没有选中时值为-1Object getSelectedItem():获得被选中项的内容,一、常用Swing组件,9JScrollPane 滚动面板滚动面板是一个带滚动条的中间层容器,通常利用它为Swing组件中的文本区(JTextArea)、列表(JLIst)等组件添加滚动条。具体操作方法:先从Palette组件板上选取一个JScrollPane组件,在设计区上画出适当大小的区域,然后再选取一个JTextArea或JLIst组件添加到该JScrollPane上,这样文本区或列表框就会带有滚动条了。,一、常用Swing组件,10JPanel 面板JPanel是个无边框的中间层容器,使用面板的目的是为了在窗口上分层次、分区域管理各种组件,适合比较复杂的GUI。一个窗口中可以添加多个JPanel对象,JPanel类的最常用的方法是add()方法和setLayout()方法,分别用于添加组件、设置面板布局。,对于开发项目布局,有专业的的可视化编程工具、前台美工负责,三、初识事件及事件处理,图形用户界面中人机交互的实现是通过组件响应各种事件来实现的。事件:通俗的讲是指在GUI程序系统中用户按需要激发的某一动作。如按钮单击、鼠标移动等事件源:事件发生的对象,如上述的按钮、鼠标事件处理:可以简单理解为当某个事件发生时需要执行的动作(语句序列)。,简单例子,首先要做的是为事件注册相对应的事件处理器,并制定事件,然后由事件处理器获取后进行相应的事件处理。事件监听器事件监听器是监听所触发事件的对象,其中包含有对事件发生后的事件处理操作。对于不同的事件,Java 中也定义了所相应的事件监听器接口。如下是几个比较常用的事件监听器接口。ActionListener:接收操作事件的监听器接口。AdjustmentListener:接收调整事件的监听器接口。FocusListener:接收组件上的键盘焦点事件的监听器接口。InputMethodListener:接收输入方法事件的监听接口。KeyListener:用于接收键盘事件的监听接口。MouseListener:接收组件上的鼠标事件(包括按下、单击、进入或者离开)的监听器接口。MouseMotionListener:接收组件上的鼠标移动事件的监听接口。MouseWheelListener:接收组件上的鼠标滚轮事件的监听接口。TextListener:接收文本事件的监听器接口。WindowListener:接收窗口事件的监听接口。,简单例子,使用监听器,首先要定义监听器类,并实现相应的监听器接口。然后要在组件上使用addXxxxListener 的方式为组件添加事件监听,然后设置相应的事件处理方法。当组件中的事件触发后,就会根据所添加的事件处理方法进行事件处理。implements ActionListener,ItemListenerjb1.addActionListener(this);c2.addItemListener(this);,简单例子,MyMenuTestMenuBarCalcuateDemo,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开