《Java大学教程》—第18章 高级图形编程
自测题:
1. 在图形应用程序中为用户提供选择的多种方式:P433
下拉菜单(pull-down menu)、弹出式菜单(pop-up menu)、对话框窗口(dialogue window)、单选按钮(radio button)、组合框(combo box)。
2. 使用JMenuBar类、JMenu类和JMenuItem类构建下拉菜单:
创建一个菜单需要有三方面内容:顶端的菜单栏(menu bar)、不同的菜单(menu)以及每个菜单都有各自的菜单项(menu item)列表。
将菜单项添加到菜单中,再将菜单添加到菜单栏中,最后将菜单栏添加到框架中。
3. 模式对话框与非模式对话框的区别:P445
模式对话框处于可见状态时,用户不可以与原框架进行交互,只有先关闭模式对话框后才能与原框架交互。
非模式对话框处于可见状态时,用户仍可以与原框架进行交互,甚至可以直接关闭原框架,非模式对话框也会与原框架一起关闭。
4. 下拉菜单与弹出式菜单的使用场景区别:
下拉菜单适用于全局环境;弹出式菜单适用于特定环境。
5. 弹出式菜单与对话框窗口的区别:P442
不希望原框架或窗体的一部分总是用于交互就可使用对话框窗口。
6. 多个单选按钮如何一起工作?P445
创建一个ButtonGroup对象,将单选按钮一个个加入到该组中,就可以一起工作了。
7. File类的getName方法与getPath方法的区别:P453
getName只提供了文件的名称,getPath提供了文件的完整路径和名称。
8. 如何判断JComboBox对象中的选中条目:
getSelectedItem()函数就可返回被选中的条目内容。
9. 调用Notepad.exe的代码:
try {
Runtime.getRuntime().exec("C:\\Windows\\notepad.exe");
} catch (IOException ioe) {
System.out.println(ioe);
}
10. JSlider的默认范围:默认的最小值和最大值分别是0和100 。
编程练习:代码附件
1. 都实现了,没啥想修改的。
2. DiaglogModalDemo.java RunDiaglogModalDemo.java
3. 图形界面的就先不做了。
4. SliderRectangleDemo.java RunSliderRectangleDemo.java
5. DrawFigure.java RunDrawFigure.java
注:基本的几个交互组件都已经在DrawFigure中使用了,不再做6题了,图形界面太花时间。
《Java大学教程》—第18章 高级图形编程的更多相关文章
- 正在学习的Java大学教程
推荐本书<Java大学教程> 看的人比较少,我也是多年不看书了,基于教程一般选国外的方法,从图书馆选了本书. 看了一半,感觉书的内容比较认真,对于基本的Java知识都算介绍全了,而且全书是 ...
- 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条
http://blog.csdn.net/terryzero/article/details/3797782 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条 标签: swing编程 ...
- python 教程 第十七章、 网络编程
第十七章. 网络编程 1) FTP客户端 import ftplib import os import socket HOST = '127.0.0.1' DIRN = 'menus' FILE ...
- 《Java大学教程》—第10章 图形和事件驱动程序
10.2 Swing程序包AWT(Abstract Window Toolkit): 抽象窗口工具集.依赖于本地操作系统的组件被称为重量级(Heavy Weight)组件,因为它们都会大量使用系统资源 ...
- 《Java大学教程》—第21章 高级案例研究
21.3 需求:P510用例模型(use case model):用例图(use case diagram).用例(use case).行为说明(behaviour specification) ...
- 《Java大学教程》—第23章 Java网络编程
本章主要关注的是Java的几个应用网络编程的场景,对于网络编程没有太多深入介绍,而Java本来也没有多少针对网络编程的特性.虽然Java有个Applet的概念,但是真用这个的开发的场景其实不多. 23 ...
- 《Java大学教程》—第24章 Java的背景
本章主要介绍的是Java的背景知识,通过了解历史知道Java与其他语言的区别,以便更好选择在什么场景下使用Java. 24.2 语言的尺寸Java语言短小.紧凑,以C++为基础,放弃了一些特定的 ...
- 《Java大学教程》—第19章 改进用户界面
用户与程序交互的媒介称为用户界面(user interface)或人机界面(human-computer interface). 19.2 Border接口8个实现Border接口的标准边框类: ...
- 《Java大学教程》—第14章 抽象、继承和接口
自测题:1. 解释抽象和抽象数据类型的概念.P333抽象的概念是仅仅关注对象可以完成什么工作,而不必担心如何完成工作的细节.类模板通常被称为抽象数据类型.因为这类数据暴露给用户的所有信息仅仅是方 ...
随机推荐
- [转]js串口通信 调用MSCOMM32控件 链接电子秤
本文转自:https://www.cnblogs.com/x-j-p/p/7819724.html 硬件环境:RS232转USB串口线*1 电子秤*1(本人采用G&G E600Y-C型号称重仪 ...
- 【转载】Centos系统采用NVM安装Node.js环境
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又 ...
- STM32-对芯片启动读保护,实现加密(详解)
STM32可以对存储在flash上的程序进行读保护. 启动读保护后,用户就不能再读写程序了. 所以,在烧写程序之前,需要程序调用关闭读保护.关闭读保护后,会自动清空flash上的程序 头文件位于:#i ...
- linux防火墙相关 iptables
1. root用户查看防火墙状态(非root用户无权限查看) 查看防火墙状态: service iptables status 2.开启和关闭防火墙 //开启防火墙: service iptables ...
- laravel接值 get post
laravel使用一种简单的方式来访问用户提交的信息. 你可以用统一的方式来访问用户提交的信息,而不用为用户提交信息的方式操心. 引用类:use Illuminate\Support\Facades\ ...
- Thinkphp5多数据库切换
在项目开发中需要Thinkphp5读取多个数据库的数据,本文详细介绍Thinkphp5多数据库切换 一.在database.php配置默认数据库连接 'type' => 'm ...
- vue从入门到进阶:vue-router路由功能(九)
基本使用 html: <script src="https://unpkg.com/vue/dist/vue.js"></script> <scrip ...
- 51NOD 1185 威佐夫游戏 V2(威佐夫博弈)
1185 威佐夫游戏 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 有2堆石子.A B两个人轮流拿,A先拿.每次可以从一堆中取任意个或从2堆中取 ...
- POJ3683 Priest John's Busiest Day(2-SAT)
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 11049 Accepted: 3767 Special Judge ...
- Linux 新磁盘分区与挂载
1.查看未分区的盘 2.新建分区 3.格式化分区(/dev/sdb1) 4.查看磁盘uuid [root@web-node1 ~]# blkid /dev/vdb1 /dev/vdb1 ...