失效链接处理 |
Java9编程参考官方大全 第10版 PDF 下载
转载自:https://download.csdn.net/download/gaofengcs/11421025
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/25344282.html
相关截图:
资料简介:
主要内容 ● 数据类型、变量、数组和运算符 ● 控制语句 ● 类、对象和方法 ● 方法重载和重写 ● 继承 ● 接口和包 ● 异常处理 ● 多线程编程 ● 枚举、自动装箱和注解 ● I/O类 ● 泛型 ● lambda表达式 ● 模块 ● 字符串处理 ● 集合框架 ● 联网 ● 事件处理 ● AWT ● Swing和JavaFX ● 并发API ● 流API ● 正则表达式 ● Java Bean ● servlet
资料目录:
第Ⅰ部分 Java语言 第1章 Java的历史和演变 3 1.1 Java的家世 3 1.1.1 现代编程语言的诞生:C语言 3 1.1.2 C :下一个阶段 4 1.1.3 Java出现的时机已经成熟 4 1.2 Java的诞生 5 1.3 Java改变Internet的方式 6 1.3.1 Java applet 6 1.3.2 安全性 6 1.3.3 可移植性 6 1.4 Java的魔力:字节码 7 1.5 不再推荐使用applet 7 1.6 servlet:服务器端的Java 8 1.7 Java的关键特性 8 1.7.1 简单性 8 1.7.2 面向对象 8 1.7.3 健壮性 8 1.7.4 多线程 9 1.7.5 体系结构中立 9 1.7.6 解释执行和高性能 9 1.7.7 分布式 9 1.7.8 动态性 9 1.8 Java的演变历程 9 1.9 Java SE 9 11 1.10 文化革新 12 第2章 Java综述 13 2.1 面向对象编程 13 2.1.1 两种范式 13 2.1.2 抽象 13 2.1.3 OOP三原则 14 2.2 第一个简单程序 16 2.2.1 输入程序 17 2.2.2 编译程序 17 2.2.3 深入分析第一个示例程序 17 2.3 第二个简短程序 19 2.4 两种控制语句 20 2.4.1 if语句 20 2.4.2 for循环 21 2.5 使用代码块 22 2.6 词汇问题 23 2.6.1 空白符 23 2.6.2 标识符 23 2.6.3 字面值 23 2.6.4 注释 23 2.6.5 分隔符 23 2.6.6 Java关键字 24 2.7 Java类库 24 第3章 数据类型、变量和数组 25 3.1 Java是强类型化的语言 25 3.2 基本类型 25 3.3 整型 25 3.3.1 byte 26 3.3.2 short 26 3.3.3 int 26 3.3.4 long 26 3.4 浮点型 27 3.4.1 float 27 3.4.2 double 27 3.5 字符型 27 3.6 布尔型 29 3.7 深入分析字面值 29 3.7.1 整型字面值 29 3.7.2 浮点型字面值 30 3.7.3 布尔型字面值 30 3.7.4 字符型字面值 31 3.7.5 字符串字面值 31 3.8 变量 31 3.8.1 变量的声明 31 3.8.2 动态初始化 32 3.8.3 变量的作用域和生存期 32 3.9 类型转换和强制类型转换 34 3.9.1 Java的自动类型转换 34 3.9.2 强制转换不兼容的类型 34 3.10 表达式中的自动类型提升 35 3.11 数组 36 3.11.1 一维数组 36 3.11.2 多维数组 38 3.11.3 另一种数组声明语法 41 3.12 关于字符串的一些说明 41 第4章 运算符 43 4.1 算术运算符 43 4.1.1 基本算术运算符 43 4.1.2 求模运算符 44 4.1.3 算术与赋值复合运算符 44 4.1.4 自增与自减运算符 45 4.2 位运算符 46 4.2.1 位逻辑运算符 47 4.2.2 左移 49 4.2.3 右移 50 4.2.4 无符号右移 51 4.2.5 位运算符与赋值的组合 52 4.3 关系运算符 52 4.4 布尔逻辑运算符 53 4.5 赋值运算符 54 4.6 “?”运算符 55 4.7 运算符的优先级 55 4.8 使用圆括号 56 第5章 控制语句 57 5.1 Java的选择语句 57 5.1.1 if语句 57 5.1.2 switch语句 59 5.2 迭代语句 62 5.2.1 while语句 63 5.2.2 do-while语句 64 5.2.3 for语句 66 5.2.4 for循环的for-each版本 68 5.2.5 嵌套的循环 72 5.3 跳转语句 72 5.3.1 使用break语句 72 5.3.2 使用continue语句 75 5.3.3 return语句 76 第6章 类 77 6.1 类的基础知识 77 6.1.1 类的一般形式 77 6.1.2 一个简单的类 78 6.2 声明对象 79 6.3 为对象引用变量赋值 80 6.4 方法 81 6.4.1 为Box类添加方法 81 6.4.2 返回值 83 6.4.3 添加带参数的方法 84 6.5 构造函数 85 6.6 this关键字 87 6.7 垃圾回收 88 6.8 堆栈类 88 第7章 方法和类的深入分析 91 7.1 重载方法 91 7.2 将对象用作参数 94 7.3 实参传递的深入分析 96 7.4 返回对象 97 7.5 递归 98 7.6 访问控制 100 7.7 理解static 102 7.8 final介绍 104 7.9 重新审视数组 104 7.10 嵌套类和内部类 105 7.11 String类介绍 107 7.12 使用命令行参数 109 7.13 varargs:可变长度实参 110 7.13.1 重载varargs方法 112 7.13.2 varargs方法与模糊性 113 第8章 继承 115 8.1 继承的基础知识 115 8.1.1 成员访问与继承 116 8.1.2 一个更实际的例子 117 8.1.3 超类变量可以引用子类对象 118 8.2 使用super关键字 119 8.2.1 使用super调用超类的构造函数 119 8.2.2 super的另一种用法 122 8.3 创建多级继承层次 123 8.4 构造函数的执行时机 125 8.5 方法重写 126 8.6 动态方法调度 128 8.6.1 重写方法的目的 129 8.6.2 应用方法重写 129 8.7 使用抽象类 130 8.8 在继承中使用final关键字 132 8.8.1 使用final关键字阻止重写 132 8.8.2 使用final关键字阻止继承 133 8.9 Object类 133 第9章 包和接口 135 9.1 包 135 9.1.1 定义包 135 9.1.2 包查找与CLASSPATH 136 9.1.3 一个简短的包示例 136 9.2 包和成员访问 137 9.3 导入包 140 9.4 接口 141 9.4.1 定义接口 141 9.4.2 实现接口 142 9.4.3 嵌套接口 144 9.4.4 应用接口 144 9.4.5 接口中的变量 147 9.4.6 接口可以扩展 148 9.5 默认接口方法 149 9.5.1 默认方法的基础知识 149 9.5.2 一个更加实用的例子 151 9.5.3 多级继承的问题 151 9.6 在接口中使用静态方法 152 9.7 私有接口方法 152 9.8 关于包和接口的最后说明 153 第10章 异常处理 155 10.1 异常处理的基础知识 155 10.2 异常类型 155 10.3 未捕获的异常 156 10.4 使用try和catch 157 10.5 多条catch子句 158 10.6 嵌套的try语句 159 10.7 throw 161 10.8 throws 162 10.9 finally 162 10.10 Java的内置异常 164 10.11 创建自己的异常子类 165 10.12 链式异常 166 10.13 其他三个异常特性 167 10.14 使用异常 168 第11章 多线程编程 169 11.1 Java线程模型 169 11.1.1 线程优先级 170 11.1.2 同步 170 11.1.3 消息传递 171 11.1.4 Thread类和Runnable接口 171 11.2 主线程 171 11.3 创建线程 172 11.3.1 实现Runnable接口 172 11.3.2 扩展Thread类 174 11.3.3 选择一种创建方式 175 11.4 创建多个线程 175 11.5 使用isAlive()和join()方法 176 11.6 线程优先级 178 11.7 同步 179 11.7.1 使用同步方法 179 11.7.2 synchronized语句 180 11.8 线程间通信 182 11.9 挂起、恢复与停止线程 187 11.10 获取线程的状态 189 11.11 使用工厂方法创建和启动线程 189 11.12 使用多线程 190 第12章 枚举、自动装箱与注解 191 12.1 枚举 191 12.1.1 枚举的基础知识 191 12.1.2 values()和valueOf()方法 193 12.1.3 Java枚举是类类型 194 12.1.4 枚举继承自Enum类 195 12.1.5 另一个枚举示例 196 12.2 类型封装器 198 12.2.1 Character封装器 198 12.2.2 Boolean封装器 198 12.2.3 数值类型封装器 198 12.3 自动装箱 199 12.3.1 自动装箱与方法 200 12.3.2 表达式中发生的自动装箱/拆箱 201 12.3.3 布尔型和字符型数值的自动装箱/ 拆箱 202 12.3.4 自动装箱/拆箱有助于防止错误 202 12.3.5 一些警告 203 12.4 注解 203 12.4.1 注解的基础知识 203 12.4.2 指定保留策略 204 12.4.3 在运行时使用反射获取注解 204 12.4.4 AnnotatedElement接口 208 12.4.5 使用默认值 208 12.4.6 标记注解 209 12.4.7 单成员注解 210 12.4.8 内置注解 211 12.5 类型注解 213 12.6 重复注解 216 第13章 I/O、带资源的try语句以及其他 主题 219 13.1 I/O的基础知识 219 13.1.1 流 219 13.1.2 字节流和字符流 219 13.1.3 预定义流 221 13.2 读取控制台输入 221 13.2.1 读取字符 222 13.2.2 读取字符串 222 13.3 向控制台写输出 223 13.4 PrintWriter类 224 13.5 读/写文件 225 13.6 自动关闭文件 229 13.7 transient和volatile修饰符 231 13.8 使用instanceof运算符 232 13.9 strictfp 233 13.10 本地方法 234 13.11 使用assert 234 13.12 静态导入 236 13.13 通过this()调用重载的构造函数 238 13.14 紧凑API配置文件 239 第14章 泛型 241 14.1 什么是泛型 241 14.2 一个简单的泛型示例 241 14.2.1 泛型只使用引用类型 244 14.2.2 基于不同类型参数的泛型类型 是不同的 244 14.2.3 泛型提升类型安全性的原理 244 14.3 带两个类型参数的泛型类 246 14.4 泛型类的一般形式 247 14.5 有界类型 247 14.6 使用通配符参数 249 14.7 创建泛型方法 255 14.8 泛型接口 257 14.9 原始类型与遗留代码 259 14.10 泛型类层次 260 14.10.1 使用泛型超类 260 14.10.2 泛型子类 262 14.10.3 泛型层次中的运行时类型比较 263 14.10.4 强制转换 265 14.10.5 重写泛型类的方法 265 14.11 泛型的类型推断 266 14.12 擦除 267 14.13 模糊性错误 268 14.14 使用泛型的一些限制 269 14.14.1 不能实例化类型参数 269 14.14.2 对静态成员的一些限制 269 14.14.3 对泛型数组的一些限制 270 14.14.4 对泛型异常的限制 271 第15章 lambda表达式 273 15.1 lambda表达式简介 273 15.1.1 lambda表达式的基础知识 273 15.1.2 函数式接口 274 15.1.3 几个lambda表达式示例 275 15.2 块lambda表达式 277 15.3 泛型函数式接口 278 15.4 作为参数传递lambda表达式 280 15.5 lambda表达式与异常 282 15.6 lambda表达式和变量捕获 282 15.7 方法引用 283 15.7.1 静态方法的方法引用 283 15.7.2 实例方法的方法引用 284 15.7.3 泛型中的方法引用 287 15.8 构造函数引用 289 15.9 预定义的函数式接口 293 第16章 模块 295 16.1 模块基础知识 295 16.1.1 简单的模块示例 295 16.1.2 编译、运行第一个模块示例 298 16.1.3 requires和exports 299 16.2 java.base和平台模块 299 16.3 旧代码和未命名的模块 300 16.4 导出到特定的模块 300 16.5 使用requires transitive 301 16.6 使用服务 304 16.6.1 服务和服务提供程序的基础知识 304 16.6.2 基于服务的关键字 305 16.6.3 基于模块的服务示例 305 16.7 模块图 310 16.8 三个特殊的模块特性 310 16.8.1 open模块 310 16.8.2 opens语句 310 16.8.3 requires static 311 16.9 jlink工具和模块JAR文件介绍 311 16.9.1 链接exploded directory中的文件 311 16.9.2 链接模块化的JAR文件 311 16.9.3 JMOD文件 312 16.10 层与自动模块简述 312 16.11 小结 312 第Ⅱ部分 Java库 第17章 字符串处理 315 17.1 String类的构造函数 315 17.2 字符串的长度 317 17.3 特殊的字符串操作 317 17.3.1 字符串字面值 317 17.3.2 字符串连接 317 17.3.3 字符串和其他数据类型的连接 318 17.3.4 字符串转换和toString()方法 318 17.4 提取字符 319 17.4.1 charAt() 319 17.4.2 getChars() 319 17.4.3 getBytes() 320 17.4.4 toCharArray() 320 17.5 比较字符串 320 17.5.1 equals()和equalsIgnoreCase() 320 17.5.2 regionMatches() 321 17.5.3 startsWith()和endsWith() 321 17.5.4 equals()与== 321 17.5.5 compareTo() 322 17.6 查找字符串 323 17.7 修改字符串 324 17.7.1 substring() 324 17.7.2 concat() 325 17.7.3 replace() 325 17.7.4 trim() 325 17.8 使用valueOf()转换数据 326 17.9 改变字符串中字符的大小写 326 17.10 连接字符串 327 17.11 其他String方法 327 17.12 StringBuffer类 328 17.12.1 StringBuffer类的构造函数 328 17.12.2 length()与capacity() 329 17.12.3 ensureCapacity() 329 17.12.4 setLength() 329 17.12.5 charAt()与setCharAt() 329 17.12.6 getChars() 330 17.12.7 append() 330 17.12.8 insert() 330 17.12.9 reverse() 331 17.12.10 delete()与deleteCharAt() 331 17.12.11 replace() 332 17.12.12 substring() 332 17.12.13 其他StringBuffer方法 332 17.13 StringBuilder类 333 第18章 探究java.lang 335 18.1 基本类型封装器 335 18.1.1 Number 336 18.1.2 Double与Float 336 18.1.3 理解isInfinite()与isNaN() 338 18.1.4 Byte、Short、Integer和Long 339 18.1.5 Character 346 18.1.6 对Unicode代码点的附加支持 348 18.1.7 Boolean 349 18.2 Void类 349 18.3 Process类 349 18.4 Runtime类 350 18.4.1 内存管理 351 18.4.2 执行其他程序 352 18.5 Runtime.Version 353 18.6 ProcessBuilder类 353 18.7 System类 355 18.7.1 使用currentTimeMillis()计时程序的 执行 356 18.7.2 使用arraycopy()方法 357 18.7.3 环境属性 357 18.8 System.Logger和System.Logger Finder 358 18.9 Object类 358 18.10 使用clone()方法和Cloneable 接口 358 18.11 Class类 360 18.12 ClassLoader类 362 18.13 Math类 362 18.13.1 三角函数 362 18.13.2 指数函数 363 18.13.3 舍入函数 363 18.13.4 其他数学方法 364 18.14 StrictMath类 365 18.15 Compiler类 365 18.16 Thread类、ThreadGroup类和 Runnable接口 366 18.16.1 Runnable接口 366 18.16.2 Thread类 366 18.16.3 ThreadGroup类 368 18.17 ThreadLocal和InheritableThread Local类 371 18.18 Package类 371 18.19 Module类 372 18.20 ModuleLayer类 372 18.21 RuntimePermission类 372 18.22 Throwable类 373 18.23 SecurityManager类 373 18.24 StackTraceElement类 373 18.25 StackWalker类和StackWalker. StackFrame接口 373 18.26 Enum类 373 18.27 ClassValue类 374 18.28 CharSequence接口 374 18.29 Comparable接口 374 18.30 Appendable接口 375 18.31 Iterable接口 375 18.32 Readable接口 375 18.33 AutoCloseable接口 375 18.34 Thread.UncaughtExceptionHandler 接口 376 18.35 java.lang子包 376 18.35.1 java.lang.annotation 376 18.35.2 java.lang.instrument 376 18.35.3 java.lang.invoke 376 18.35.4 java.lang.module 376 18.35.5 java.lang.management 376 18.35.6 java.lang.ref 376 18.35.7 java.lang.reflect 377 第19章 java.util第1部分:集合框架 379 19.1 集合概述 380 19.2 集合接口 380 19.2.1 Collection接口 381 19.2.2 List接口 382 19.2.3 Set接口 384 19.2.4 SortedSet接口 384 19.2.5 NavigableSet接口 385 19.2.6 Queue接口 385 19.2.7 Deque接口 386 19.3 集合类 387 19.3.1 ArrayList类 388 19.3.2 LinkedList类 390 19.3.3 HashSet类 391 19.3.4 LinkedHashSet类 392 19.3.5 TreeSet类 392 19.3.6 PriorityQueue类 393 19.3.7 ArrayDeque类 394 19.3.8 EnumSet类 395 19.4 通过迭代器访问集合 395 19.4.1 使用迭代器 396 19.4.2 使用for-each循环替代迭代器 398 19.5 Spliterator 398 19.6 在集合中存储用户定义的类 400 19.7 RandomAccess接口 401 19.8 使用映射 401 19.8.1 映射接口 402 19.8.2 映射类 406 19.9 比较器 409 19.10 集合算法 415 19.11 Arrays类 420 19.12 遗留的类和接口 423 19.12.1 Enumeration接口 424 19.12.2 Vector类 424 19.12.3 Stack类 427 19.12.4 Dictionary类 428 19.12.5 Hashtable类 429 19.12.6 Properties类 431 19.12.7 使用store()和load()方法 434 19.13 集合小结 435 第20章 java.util第2部分:更多实用 工具类 437 20.1 StringTokenizer类 437 20.2 BitSet类 438 20.3 Optional、OptionalDouble、 OptionalInt和OptionalLong 440 20.4 Date类 442 20.5 Calendar类 443 20.6 GregorianCalendar类 445 20.7 TimeZone类 446 20.8 SimpleTimeZone类 447 20.9 Locale类 448 20.10 Random类 449 20.11 Timer和TimerTask类 450 20.12 Currency类 452 20.13 Formatter类 453 20.13.1 Formatter类的构造函数 453 20.13.2 Formatter类的方法 453 20.13.3 格式化的基础知识 454 20.13.4 格式化字符串和字符 455 20.13.5 格式化数字 455 20.13.6 格式化时间和日期 456 20.13.7 %n和%%说明符 458 20.13.8 指定最小字段宽度 458 20.13.9 指定精度 459 20.13.10 使用格式标志 460 20.13.11 对齐输出 460 20.13.12 空格、“ ”、“0”以及“(” 标志 461 20.13.13 逗号标志 462 20.13.14 “#”标志 462 20.13.15 大写选项 462 20.13.16 使用参数索引 462 20.13.17 关闭Formatter对象 463 20.13.18 printf()方法 464 20.14 Scanner类 464 20.14.1 Scanner类的构造函数 464 20.14.2 扫描的基础知识 465 20.14.3 一些Scanner示例 467 20.14.4 设置定界符 470 20.14.5 其他Scanner特性 471 20.15 ResourceBundle、ListResourceBundle 和PropertyResourceBundle类 472 20.16 其他实用工具类和接口 475 20.17 java.util子包 475 20.17.1 java.util.concurrent、java.util.concurrent. atomic和java.util.concurrent.locks 476 20.17.2 java.util.function 476 20.17.3 java.util.jar 478 20.17.4 java.util.logging 478 20.17.5 java.util.prefs 478 20.17.6 java.util.regex 478 20.17.7 java.util.spi 478 20.17.8 java.util.stream 478 20.17.9 java.util.zip 478 第21章 输入/输出:探究java.io 479 21.1 I/O类和接口 479 21.2 File类 480 21.2.1 目录 482 21.2.2 使用FilenameFilter接口 483 21.2.3 listFiles()方法 483 21.2.4 创建目录 484 21.3 AutoCloseable、Closeable和 Flushable接口 484 21.4 I/O异常 484 21.5 关闭流的两种方式 484 21.6 流类 485 21.7 字节流 486 21.7.1 InputStream类 486 21.7.2 OutputStream类 486 21.7.3 FileInputStream类 487 21.7.4 FileOutputStream类 488 21.7.5 ByteArrayInputStream类 490 21.7.6 ByteArrayOutputStream类 491 21.7.7 过滤的字节流 492 21.7.8 缓冲的字节流 492 21.7.9 SequenceInputStream类 495 21.7.10 PrintStream类 496 21.7.11 DataOutputStream和 DataInputStream类 498 21.7.12 RandomAccessFile类 499 21.8 字符流 500 21.8.1 Reader类 500 21.8.2 Writer类 501 21.8.3 FileReader类 501 21.8.4 FileWriter类 502 21.8.5 CharArrayReader类 503 21.8.6 CharArrayWriter类 504 21.8.7 BufferedReader类 505 21.8.8 BufferedWriter类 506 21.8.9 PushbackReader类 506 21.8.10 PrintWriter类 507 21.9 Console类 508 21.10 串行化 509 21.10.1 Serializable接口 509 21.10.2 Externalizable接口 509 21.10.3 ObjectOutput接口 509 21.10.4 ObjectOutputStream类 510 21.10.5 ObjectInput接口 510 21.10.6 ObjectInputStream类 511 21.10.7 串行化示例 512 21.11 流的优点 513 第22章 探究NIO 515 22.1 NIO类 515 22.2 NIO的基础知识 515 22.2.1 缓冲区 515 22.2.2 通道 517 22.2.3 字符集和选择器 518 22.3 NIO.2对NIO的增强 518 22.3.1 Path接口 518 22.3.2 Files类 519 22.3.3 Path接口 521 22.3.4 文件属性接口 521 22.3.5 FileSystem、FileSystems和 FileStore类 522 22.4 使用NIO系统 522 22.4.1 为基于通道的I/O使用NIO 523 22.4.2 为基于流的I/O使用NIO 529 22.4.3 为路径和文件系统操作使用NIO 531 第23章 联网 539 23.1 联网的基础知识 539 23.2 联网类和接口 540 23.3 InetAddress类 540 23.3.1 工厂方法 540 23.3.2 实例方法 541 23.4 Inet4Address类和Inet6Address类 541 23.5 TCP/IP客户端套接字 542 23.6 URL类 544 23.7 URLConnection类 545 23.8 HttpURLConnection类 547 23.9 URI类 549 23.10 cookie 549 23.11 TCP/IP服务器套接字 549 23.12 数据报 549 23.12.1 DatagramSocket类 550 23.12.2 DatagramPacket类 550 23.12.3 数据报示例 551 第24章 事件处理 553 24.1 两种事件处理机制 553 24.2 委托事件模型 553 24.2.1 事件 554 24.2.2 事件源 554 24.2.3 事件监听器 554 24.3 事件类 554 24.3.1 ActionEvent类 555 24.3.2 AdjustmentEvent类 556 24.3.3 ComponentEvent类 556 24.3.4 ContainerEvent类 557 24.3.5 FocusEvent类 557 24.3.6 InputEvent类 558 24.3.7 ItemEvent类 558 24.4 KeyEvent类 559 24.4.1 MouseEvent类 559 24.4.2 MouseWheelEvent类 560 24.4.3 TextEvent类 561 24.4.4 WindowEvent类 561 24.5 事件源 562 24.6 事件监听器接口 562 24.6.1 ActionListener接口 563 24.6.2 AdjustmentListener接口 563 24.6.3 ComponentListener接口 563 24.6.4 ContainerListener接口 563 24.6.5 FocusListener接口 563 24.6.6 ItemListener接口 563 24.6.7 KeyListener接口 564 24.6.8 MouseListener接口 564 24.6.9 MouseMotionListener接口 564 24.6.10 MouseWheelListener接口 564 24.6.11 TextListener接口 564 24.6.12 WindowFocusListener接口 564 24.6.13 WindowListener接口 564 24.7 使用委托事件模型 565 24.7.1 一些重要的GUI概念 565 24.7.2 处理鼠标事件 565 24.7.3 处理键盘事件 568 24.8 适配器类 571 24.9 内部类 572 第25章 AWT介绍:使用窗口、图形和 文本 577 25.1 AWT类 577 25.2 窗口基本元素 579 25.2.1 Component类 579 25.2.2 Container类 579 25.2.3 Panel类 580 25.2.4 Window类 580 25.2.5 Frame类 580 25.2.6 Canvas类 580 25.3 使用框架窗口 580 25.3.1 设置窗口的尺寸 580 25.3.2 隐藏和显示窗口 580 25.3.3 设置窗口的标题 581 25.3.4 关闭框架窗口 581 25.3.5 paint()方法 581 25.3.6 显示字符串 581 25.3.7 设置前景色和背景色 581 25.3.8 请求重画 582 25.3.9 创建基于框架的应用程序 583 25.4 使用图形 583 25.4.1 绘制直线 583 25.4.2 绘制矩形 583 25.4.3 绘制椭圆和圆 584 25.4.4 绘制弧形 584 25.4.5 绘制多边形 584 25.4.6 演示绘制方法 584 25.4.7 改变图形的大小 586 25.5 使用颜色 587 25.5.1 Color类的方法 587 25.5.2 设置当前图形的颜色 588 25.5.3 一个演示颜色的applet 588 25.6 设置绘图模式 589 25.7 使用字体 590 25.7.1 确定可用字体 591 25.7.2 创建和选择字体 592 25.7.3 获取字体信息 594 25.8 使用FontMetrics管理文本输出 595 第26章 使用AWT控件、布局管理器和 菜单 599 26.1 AWT控件的基础知识 599 26.1.1 添加和移除控件 599 26.1.2 响应控件 600 26.1.3 HeadlessException异常 600 26.2 使用标签 600 26.3 使用命令按钮 601 26.4 使用复选框 604 26.5 使用复选框组 606 26.6 使用下拉列表 607 26.7 使用列表框 609 26.8 管理滚动条 611 26.9 使用TextField 613 26.10 使用TextArea 615 26.11 理解布局管理器 617 26.11.1 FlowLayout布局管理器 617 26.11.2 BorderLayout布局管理器 618 26.11.3 使用Insets 619 26.11.4 GridLayout布局管理器 620 26.11.5 CardLayout布局管理器 621 26.11.6 GridBagLayout布局管理器 623 26.12 菜单栏和菜单 627 26.13 对话框 630 26.14 关于重写paint()方法 634 |