Chapter 9:安全 491
9.1 类加载器 492
9.1.1 类加载流程 492
9.1.2 类加载器层次结构 494
9.1.3 将类加载器作为命名空间 496
9.1.4 编写自己的类加载器 497
9.1.5 字节码验证 504
9.2 安全管理器与权限 509
9.2.1 权限检查 509
9.2.2 Java平台安全 510
9.2.3 安全策略文件 514
9.2.4 定制权限 522
9.2.5 实现权限类 524
9.3 用户认证 530
9.3.1 JAAS框架 531
9.3.2 JAAS登录模块 537
9.4 数字签名 546
9.4.1 消息摘要 547
9.4.2 消息签名 550
9.4.3 验证签名 553
9.4.4 认证问题 556
9.4.5 证书签名 558
9.4.6 证书请求 560
9.4.7 代码签名 561
9.5 加密 567
9.5.1 对称密码 567
9.5.2 生成密钥 569
9.5.3 加密流 574
9.5.4 公钥密码 575
Chapter 10:高级Swing 581
10.1 列表 582
10.1.1 JList组件 582
10.1.2 列表模式 588
10.1.3 插入和移除值 593
10.1.4 值的绘制 595
10.2 表 599
10.2.1 简单表 600
10.2.2 表模式 604
10.2.3 行列操作 608
10.2.3.1 列类 609
10.2.3.2 访问表列 610
10.2.3.3 调整列 611
10.2.3.4 调整行 612
10.2.3.5 选择行、列和单元格 612
10.2.3.6 对行进行排序 614
10.2.3.7 对行进行过滤 615
10.2.3.8 隐藏或显示列 617
10.2.4 单元格的绘制与编辑 626
10.2.4.1 绘制单元格 626
10.2.4.2 绘制表头 627
10.2.4.3 编辑单元格 628
10.2.4.4 定制编辑器 629
10.3 树 639
10.3.1 简单的树 640
10.3.2 编辑树和树路径 650
10.3.3 节点枚举 659
10.3.4 渲染节点 661
10.3.5 监听树事件 664
10.3.6 定制树模型 671
10.4 文本组件 681
10.4.1 跟踪文本组件的内容修改 682
10.4.2 将输入的信息格式化 685
10.4.2.1 整型输入 686
10.4.2.2 丢失焦点时行为 687
10.4.2.3 过滤器 688
10.4.2.4 验证器 690
10.4.2.5 其他标准的格式化器 691
10.4.2.6 定制格式化器 693
10.4.3 JSpinner组件 703
10.4.4 使用JEditorPane显示HTML 712
10.5 进度指示器 719
10.5.1 进度条 719
10.5.2 进度监视器 722
10.5.3 监视输入流的进度 726
10.6 组件组织器和装饰器 731
10.6.1 分割面板 732
10.6.2 选项卡面板 735
10.6.3 桌面面板与内部框体 741
10.6.3.1 显示内部框体 741
10.6.3.2 级联与平铺 744
10.6.3.3 否决属性设置 748
10.6.3.4 内部框体中的对话框 750
10.6.3.5 拖曳概述 751
10.6.4 层次 760
Chapter 11:高级AWT 765
11.1 绘制图形的流程 766
11.2 形状 769
11.2.1 Shape类层次结构 769
11.2.2 使用各种Shape类 772
11.3 区域 786
11.4 画笔 788
11.5 着色 797
11.6 坐标变换 799
11.7 剪切 805
11.8 透明与组合 807
11.9 绘图提示 817
11.10 图像的读者类和写者类 823
11.10.1 获得图像文件类型的读者类和写者类 824
11.10.2 多图文件的读写 825
11.11 图像处理 834
11.11.1 构建光栅图像 835
11.11.2 图像过滤 842
11.12 打印 851
11.12.1 图形打印 852
11.12.2 打印多页文件 862
11.12.3 打印预览 864
11.12.4 打印服务 874
11.12.5 流打印服务 878
11.12.6 打印属性 879
11.13 剪贴板 887
11.13.1 用于数据传输的类和接口 888
11.13.2 传输文本 888
11.13.3 Transferable接口和数据的类型 892
11.13.4 构建可传输的图像 894
11.13.5 通过系统剪贴板传输Java对象 898
11.13.6 使用本地剪贴板传输对象引用 902
11.14 拖放 903
11.14.1 Swing对数据传输的支持 904
11.14.2 拖曳源 909
11.14.3 放置目标 912
11.15 平台集成 921
11.15.1 闪屏 921
11.15.2 启动桌面应用程序 927
11.15.3 系统托盘 932
Chapter 12:本地方法 939
12.1 从Java程序中调用C函数 940
12.2 数值参数与返回值 947
12.3 字符串参数 949
12.4 访问字段 956
12.4.1 访问实例字段 956
12.4.2 访问静态字段 960
12.5 编码签名 961
12.6 调用Java方法 963
12.6.1 实例方法 963
12.6.2 静态方法 964
12.6.3 构造器 965
12.6.4 其他调用方法的手段 966
12.7 访问数组元素 970
12.8 处理错误 974
12.9 使用Invocation API 980
12.10 完整示例:访问Windows注册表 985
12.10.1 Windows注册表简介 985
12.10.2 访问注册表的Java平台接口 987
12.10.3 以本地方法方式实现注册表访问功能 988