《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抽象的概念是仅仅关注对象可以完成什么工作,而不必担心如何完成工作的细节.类模板通常被称为抽象数据类型.因为这类数据暴露给用户的所有信息仅仅是方 ...
随机推荐
- 【译】微型ORM:PetaPoco
PetaPoco是一款适用于.Net 和Mono的微小.快速.单文件的微型ORM. PetaPoco有以下特色: 微小,没有依赖项……单个的C#文件可以方便的添加到任何项目中. 工作于严格的没有装饰的 ...
- Redis学习笔记(3)-XShell连接CentOSMini,并安装Redis
使用XShell远程连接CentOSMini 点击download下载XShell5.0. 下载之后安装.配置XShell. 配置XShell前的准备 打开VM,启动CentOSMini.CentOS ...
- Core知识整理
概述 Commond-Line ASP.NET结构文件 Startup 配置文件 中间件和依赖注入 依赖注入原理 框架自带的依赖注入(IServiceCollection) 依赖注入生命周期 依赖注入 ...
- mybatis_04 resultType和resultMap区别
resultType 使用resultType进行结果映射时,查询的列名和映射的pojo属性名完全一致,该列才能映射成功. 如果查询的列名和映射的pojo属性名全部不一致,则不会创建pojo对象: 如 ...
- python 实现微信自动回复(自动聊天)
原文地址(本人):https://blog.csdn.net/a5878989/article/details/54974249 介绍 微信自动回复其实主要就是登录,接收消息,回复消息三个功能,微信没 ...
- HTML表格,table,thead,tbody,tfoot,th,tr,td,的属性以及跨行,跨列
在HTML中表格是作为一个整体来解析的,解析完才会在页面显示,如果表格很复杂很长,加载时间很长,用户体验就不好.所以这里就要用到表格结构标签,解析一部分就显示一部分,不用等表格全部加载完再显示. 表格 ...
- canvas-9NonZeroAroundPrinciples2.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Grafan+Prometheus 监控 MySQL
架构图 环境 IP 环境 需装软件 192.168.0.237 mysql-5.7.20 node_exporter-0.15.2.linux-amd64.tar.gz mysqld_exporter ...
- Spider-five
一.Scrapy框架 1. Scrapy框架主要组成 a. Scrapy三个对象: request请求对象.response响应对象.item数据对象(字典) b. Scrapy五个核心组件: Spi ...
- Synchronized 和 Lock 锁在JVM中的实现原理以及代码解析
一.深入JVM锁机制:synchronized synrhronized关键字简洁.清晰.语义明确,因此即使有了Lock接口,使用的还是非常广泛.其应用层的语义是可以把任何一个非null对象作为&qu ...