用户与程序交互的媒介称为用户界面(user interface)或人机界面(human-computer interface)。

19.2    Border接口
8个实现Border接口的标准边框类:
*    BevelBorder
*    SoftBevelBorder
*    LineBorder
*    EtchedBorder
*    TitledBorder
*    MatteBorder
*    CompoundBorder
*    EmptyBorder

19.3    Icon接口

19.5    对话框窗口
*    选项:显示一系列按钮供用户选择一个选项。
*    输入:允许用户通过文本域或列表输入数据。
*    消息:显示一条消息和一个OK按钮。
*    确认:询问用户一个问题,并为答案提供确认与否的按钮。

消息类型:
*    PLAIN_MESSAGE                            不显示任何图标
*    INFORMATION_MESSAGE                显示提示图标
*    ERROR_MESSAGE                            显示错误图标
*    QUESTION_MESSAGE                    显示问题图标
*    WARNING_MESSAGE                    显示警告图标

自测题:
1.    创建下面的对话框窗口:

JOptionPane.showMessageDialog(null, "Have a nice day", "Happy Message", JOptionPane.PLAIN_MESSAGE);
JOptionPane.showInputDialog(null, "Write the words \"I have made a stupid mistake\" below", "Silly Mistake", JOptionPane.ERROR_MESSAGE);
JOptionPane.showConfirmDialog(null, "Are you here?", "Silly Question", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);

2.    屏幕上颜色的创建规则:
三种基本颜色:红、绿、蓝,按不同比例混合这三种基本颜色就可以得到其他颜色。屏幕上颜色就是按照这三种颜色的不同亮度混合得到其他颜色的。

3.    使用CardLayout管理器的场景:
适用于需要将界面分成不同的区域,并且每次只显示一个区域的使用场景。

4.    良好用户界面创建的基本原则:
保持简洁:颜色要少、字体要少、菜单不超过三层。
注意用户群的特征:针对具体的使用者设计使用界面。
考虑有障碍用户的需求。

5.    设计程序界面时,为有障碍人士需要考虑的内容:
视觉障碍:需要颜色对比强烈,注意提供语音提示。
听觉障碍:(不知道,自己没这个感受,也没找到相关资料。)

编程练习:代码附件
1.    BorderTester.java
3.    PasswordFieldTester.java
注:RunTest.java测试该章的所有程序。

《Java大学教程》—第19章 改进用户界面的更多相关文章

  1. 正在学习的Java大学教程

    推荐本书<Java大学教程> 看的人比较少,我也是多年不看书了,基于教程一般选国外的方法,从图书馆选了本书. 看了一半,感觉书的内容比较认真,对于基本的Java知识都算介绍全了,而且全书是 ...

  2. 《Java大学教程》—第11章 案例研究--第1部分

    自测题:1.    图11-1的UML设计中各个类之间的关系.Hostel与TenantList是关联关系:TenantList和PaymentList与ObjectList是泛化关系.TenantL ...

  3. 《Java大学教程》—第24章 Java的背景

    本章主要介绍的是Java的背景知识,通过了解历史知道Java与其他语言的区别,以便更好选择在什么场景下使用Java. 24.2    语言的尺寸Java语言短小.紧凑,以C++为基础,放弃了一些特定的 ...

  4. 《Java大学教程》—第23章 Java网络编程

    本章主要关注的是Java的几个应用网络编程的场景,对于网络编程没有太多深入介绍,而Java本来也没有多少针对网络编程的特性.虽然Java有个Applet的概念,但是真用这个的开发的场景其实不多. 23 ...

  5. 《Java大学教程》—第14章 抽象、继承和接口

    自测题:1.    解释抽象和抽象数据类型的概念.P333抽象的概念是仅仅关注对象可以完成什么工作,而不必担心如何完成工作的细节.类模板通常被称为抽象数据类型.因为这类数据暴露给用户的所有信息仅仅是方 ...

  6. 《Java大学教程》—第12章 案例研究--第2部分

    本章就是上一章的延续,主要是用GUI实现了控制界面. 编程练习:代码附件Hostel.java1.    正确运行2.    Runhostel.java3.    searchButton

  7. 《Java大学教程》—第9章 软件质量

    软件质量:可维护性.可靠性.健壮性.可用性. 9.3 可维护性系统维护(maintaining)是指根据需求的变化更新现有系统的过程 9.3.1    封装的重要性连锁反应:对系统某一部分的改变可能会 ...

  8. 《Java大学教程》—第22章 多线程程序

    22.2 进程(process):P551时间切片(time-slicing):处理器只是完成了一个任务的一部分工作,然后完成下一个任务的一部分工作,因为处理吕每次完成工作的时间都非常短,因此看起来这 ...

  9. 《Java大学教程》—第20章 文件处理

    记录():一个单独的数据实例.域():一个属性. 20.3    输入和输出设备:P484输入过程和输出过程.操作系统负责建立三个流(stream):标准输入流(System.in).标准输出流(Sy ...

随机推荐

  1. 响应者链UIResponder-扩大UIButton的点击范围

    在开发中,我们经常看到有按钮等的点击,会出现响应事件.按钮->view->ViewController->UIWindow->UIApplication,这就形成了一个响应链. ...

  2. .NET面试题01-值类型与引用类型

    常见面试题目: 1. 值类型和引用类型的区别? 2. 结构和类的区别? 3. delegate是引用类型还是值类型?enum.int[]和string呢? 4. 堆和栈的区别? 5. 什么情况下会在堆 ...

  3. mongodb与java整合

    mongodb与java整合需要用到mongodb驱动,如果是maven环境,则添加如下倚赖: <dependency> <groupId>org.mongodb</gr ...

  4. javascript中startswith和endsWidth 与 es6中的 startswith 和 endsWidth

    在javascript中使用String.startswith和String.endsWidth 一.String.startswith 和 String.endsWidth 功能介绍 String. ...

  5. cf934C. A Twisty Movement(思维题)

    题意 题目链接 Sol 这题最直接的维护区间以0/1结尾的LIS的方法就不说了. 其实我们可以直接考虑翻转以某个位置为中点的区间的最大值 不难发现前缀和后缀产生的贡献都是独立的,可以直接算.维护一下前 ...

  6. Genymotion安卓模拟器和VirtualBox虚拟机安装、配置、测试

    Genymotion安卓模拟器和VirtualBox虚拟机安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.VirtualBox虚拟机安装 4.Genymotion安卓 ...

  7. JMeter 正则表达式提取器结合ForEach控制器遍历提取变量值

    正则表达式提取器结合ForEach控制器遍历提取变量值   by:授客 QQ:1033553122 1. 需要解决的问题 使用正则提取器提取了一组变量值,需要在其它sampler中,循环引用组中的某几 ...

  8. Elasticsearch Query DSL

    Elasticsearch Query DSL By:授客 QQ:1033553122 1. match_all 1 2. match 2 3. match_phrase 5 4. match_phr ...

  9. loadrunner 脚本优化-参数化之Parameter List参数同行取值

    脚本优化-参数化之Parameter List参数同行取值 by:授客 QQ:1033553122 select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时 ...

  10. Bitmap压缩图片

       代码实现: public class MainActivity extends AppCompatActivity { private ImageView img; @Override prot ...