- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]20_图形用户界面设计
面向对象程序设计(Java) Java的编辑环境 不建议大家使用记事本来进行源程序的编辑 推荐使用:UltraEdit, EditPlus, JCreator, Eclipse, JBuilder等 编译和运行Java,现阶段建议大家使用DOS下的javac和java命令 上次课程内容回顾 线程 构造线程的两种方法比较 线程的状态 构造线程体的2种方法 定义一个线程类,它继承类Thread并重写其中的方法run( ); 提供一个实现接口Runnable的类作为线程的目标对象,在初始化一个Thread类或者Thread子类的线程对象时,把目标对象传递给这个线程实例,由该目标对象提供线程体run( )。 两种方法的比较 使用Runnable接口 可以将CPU,代码和数据分开,形成清晰的模型; 还可以从其他类继承; 保持程序风格的一致性。 直接继承Thread类 不能再从其他类继承; 编写简单,可以直接操纵线程,无需使用Thread.currentThread()。 线程的暂停和恢复 sleep()方法 suspend()和resume() 可以由线程自身调用suspend()方法暂停自己,也可以由其它线程调用suspend()方法暂停其执行,但是要恢复由suspend()方法挂起的线程,只能由其它线程来调用resume()方法。 join() 在Java 语言中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。 每个对象都对应于一个可称为“互斥锁”的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。 关键字synchronized 来与对象的互斥锁联系。当某个对象用synchronized修饰时,表明该对象在任一时刻只能由一个线程访问。 synchronized 除了象上面讲的放在对象前面限制一段代码的执行外,还可以放在方法声明中,表示整个方法为同步方法。 public synchronized void push(char c){ … } 如果synchronized用在类声明中,则表明该类中的所有方法都是synchronized的。 第14章 图形用户界面设计 Java图形用户界面概述 图形用户界面概念 图形用户界面(Graphical User Interface,GUI),使用图形方式借助菜单、按钮等标准界面元素和键盘、鼠标操作,实现人机交互。 Java的AWT和Swing java.awt包提供抽象窗口工具集(Abstract Window Tookit,AWT)。 javax.swing包提供JDK 1.2的Swing组件,它扩展了AWT组件的功能。 AWT组件概述 java.awt包中主要类及组件类的继承关系 AWT组件概述 组件 public abstract class Component extends Object implements ImageObserver, MenuContainer, Serializable { public void setLocation(int x, int y) //设置组件位置 public void setSize(int width, int height) //设置组件的宽度和高度 public void setVisible(boolean b) //设置组件是否显示 } AWT组件概述 容器 public class Container extends Component { public void setLayout(LayoutManager mgr) //设置布局管理器 public Component add(Component comp) //在容器中添加一个组件comp } AWT组件概述 窗口(window)和面板(panel) 框架Frame和对话框Dialog 框架 public class Frame extends Window implements MenuContainer { public Frame() public Frame(String title) //参数title指定框架的标题 public String getTitle() //获取框架的标题 public void setTitle(String title) //设置或修改框架的标题 public void setBackground(Color c
文档评论(0)