SWING HACKS
SWING HACKS
Joshua Marinacci, Chris Adamson 著
徐晔 译
出版时间:2007年02月
页数:552
Java编程语言一般是和重要的企业级应用程序联系在一起的,运行它们的服务器可能就位于蒙大拿的某个冰冷的机房里。不过,是桌面应用催生了Java,未来也必将是桌面应用让Java能更加光彩夺目。通过AWT和现在的Swing,Java为编写图形化用户界面提供了丰富的客户端API。不过想要让Java、AWT和Swing达到最佳性能并不容易(也不方便),特别是在模拟交互式Web站点或像Windows XP和Mac OS X这样的操作系统外观时更是如此。
本书能帮助Java开发人员跳过Swing的基础细节直接让桌面应用程序贴近现实。如果读者是一个Java开发人员,并想开发带有一流外观的企业级应用程序,那就应该掌握Swing。不过对Swing的hack并不仅仅局限于对它的正常使用,而是关于一些读者或许要经过许多年才能领会到的技巧。它们是一些富有创造性的、原创的甚至是诡异的hack,能让读者发出由衷的惊叹:“我可没想过居然能用Swing干这个!”
在本书中,读者将学到:
● 过滤不用的列表控件,对用户的输入做出合适的反应
● 为列表和组合框组件提供拖放功能
● 在图形组件之间实现动态切换效果,并能创建动态列表式界面
● 控制任何方面,从鼠标指针到光标,乃至闪动键盘灯
● 在Swing中构建分层、覆盖组件并灵活使用透明窗格屏蔽Swing接口内部的复杂细节和伸缩性
虽然含有丰富的技巧和经验,但本书并不是仅为那些想要构建更好用户界面的开发人员所准备的。对于其他人也一样适用,包括希望提供优雅应用程序的Java开发人员、希望推动Java客户端程序发展的热心人,以及那些希望为自己的应用程序引入更强大功能的编码人员。
  1. 目录
  2. 致谢 1
  3. 前言 5
  4. 第1章 基本JComponent 13
  5. 1 创建图像主题组件 13
  6. 2 别满足于枯燥的文本标签 20
  7. 3 以图片填充边框 26
  8. 4 以定制的日历显示日期 31
  9. 5 在文本组件中添加水印 35
  10. 6 在滚动窗格中引入水印 38
  11. 7 向文本域背景添加NASA照片 42
  12. 8 动态切换分页 45
  13. 9 对失效组件添加模糊效果 52
  14. 10 构建下拉菜单按钮 55
  15. 11 创建带下拉阴影的菜单 62
  16. 12 为菜单添加透明效果 66
  17. 第2章 列表和组合框 71
  18. 13 过滤JList 71
  19. 14 添加筛选历史记录 76
  20. 15 使JList可被复选 79
  21. 16 让不同列表项有不同的外观 84
  22. 17 使用拖放对JList进行重排序 94
  23. 18 让JList的选择拥有动态效果 101
  24. 19 在列表填充器中使用其他方法 106
  25. 20 创建支持Collection的JComboBox 110
  26. 第3章 表格和树 117
  27. 21 根据JTable内容确定列宽 117
  28. 22 为JTable添加按列选择功能 123
  29. 23 让JTable完成排序 125
  30. 24 创建一个JDBC表格模型 138
  31. 25 将表格数据导出到Excel 147
  32. 26 方便地搜索JTable 150
  33. 27 为JTree添加动态拖放效果 156
  34. 第4章 文件选择器 166
  35. 28 为文件选择器添加右键上下文菜单 166
  36. 29 在文件选择器中显示快捷方式 171
  37. 30 真正支持Windows快捷方式 175
  38. 31 向文件选择器添加图像预览功能 182
  39. 32 预览ZIP和JAR文件 186
  40. 第5章 窗口、对话框和窗框 194
  41. 33 为窗口实现吸附效果 194
  42. 34 实现可拖动的窗口 197
  43. 35 添加窗口尺寸调整图标 200
  44. 36 为窗口添加状态栏 206
  45. 37 保存窗口设置信息 213
  46. 38 可振动的对话框 218
  47. 39 旋转打开详情窗口 223
  48. 40 最小化为微型窗框 229
  49. 第6章 透明窗口和动画窗口 235
  50. 41 透明窗口 235
  51. 42 使窗口具有淡出效果 242
  52. 43 创建自定义提示框 247
  53. 44 将对话框变为停靠于窗口的漂浮对话框 251
  54. 45 为飘浮对话框实现动画效果 256
  55. 46 从任务栏中滑出提示 263
  56. 47 模糊式进度指示器 271
  57. 第7章 文本 281
  58. 48 使文本组件可被搜索 281
  59. 49 强制要求文本输入符合指定格式 285
  60. 50 带自动补全功能的文本域 290
  61. 51 文本反转 297
  62. 52 在文本组件中使用HTML和CSS 300
  63. 53 使用全局抗锯齿字体 304
  64. 54 不通过代码实现抗锯齿文本 309
  65. 55 通过自定义外观实现抗锯齿文本 311
  66. 第8章 渲染处理 313
  67. 56 创建放大镜组件 313
  68. 57 创建全局右键菜单 319
  69. 58 不通过模态对话框实现窗口阻塞 322
  70. 59 创建取色器 326
  71. 60 为整个程序改变字体 330
  72. 61 在运行时加载新字体 334
  73. 62 构建基于向量的按钮 336
  74. 63 为Swing添加第三维度 343
  75. 64 在Swing中吸引用户注意力 349
  76. 第9章 拖放处理 357
  77. 65 文件拖放 357
  78. 66 处理对URL的释放 363
  79. 67 处理对图像的释放 367
  80. 68 在Mac OS X上处理对Pict图像的释放 373
  81. 69 半透明拖放效果 379
  82. 第10章 音频 387
  83. 70 在Applet中播放音频 388
  84. 71 使用JavaSound播放音频 394
  85. 72 使用Java 媒体框架(JMF)播放音频 398
  86. 73 使用JavaSound播放音频 401
  87. 74 为JMF加入对MP3的支持 406
  88. 75 构建一个音频波形显示器 408
  89. 76 播放复杂音频 417
  90. 77 在播放时显示音频文件信息 423
  91. 78 在回放时控制音频 433
  92. 第11章 本地化集成和打包 440
  93. 79 在Windows中运行外部程序 440
  94. 80 在Mac OS X上打开文件、目录和URL 443
  95. 81 使Mac应用程序正常工作 445
  96. 82 控制Mac OS X中的 iTunes 450
  97. 83 在Windows中控制iTunes 453
  98. 84 构建单次运行的应用程序 456
  99. 85 为JAR包添加新内容 460
  100. 86 快速变换外观 466
  101. 87 创建黑白间隔的主题 471
  102. 第12章 其他技巧 476
  103. 88 显示鼠标指针为忙碌状态 476
  104. 89 有趣的键盘灯 479
  105. 90 用Robot类创建演示效果 483
  106. 91 通过Swing检查邮件 487
  107. 92 避免阻塞GUI 492
  108. 93 实现非阻塞的模型 498
  109. 94 抛出事件并避免bug 505
  110. 95 调试GUI 512
  111. 96 使用自定义透明窗格调试组件 515
  112. 97 创建应用程序的镜像 520
  113. 98 为动态HTML添加Velocity引擎 526
  114. 99 获取大文件图标 533
  115. 100 动态调整窗框尺寸 534
书名:SWING HACKS
作者:Joshua Marinacci, Chris Adamson 著
译者:徐晔 译
国内出版社:清华大学出版社
出版时间:2007年02月
页数:552
书号:978-7-302-14334-5
原版书出版商:O'Reilly Media
Joshua Marinacci
 
Chris Adamson
 
本书封面上的工具是一个“反射锤”。医生们一般使用反射锤来检查病人的膝跳反射,能表明病人脊髓灰质的一致性是否正常。一个反射就是一个简单的神经回路,当用反射锤敲击时,感应神经元将向脊髓灰质发出信号。反射测试是神经功能检查的一部分,在检查可能存在的脊髓灰质受伤位置或神经疾病时该方法显得很管用。