没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
the Matlab† programming environment uses Java‡ for numerous tasks, including networking, data-processing algorithms, and graphical user interface (GUI) Matlab’s internal Java classes can often be easily accessed and used by Matlab users Matlab also enables easy access to external Java functionality, either third-party or user-created Using Java, we can extensively customize the Matlab environment and application GUI, enabling the creation of very esthetically pleasing applications
资源推荐
资源详情
资源评论
8QGRFXPHQWHG6HFUHWVRI
0$7/$%
-DYD3URJUDPPLQJ
<DLU$OWPDQ
K13163_Book.indb 3 11/8/2011 8:06:12 PM
© 2012 by Taylor & Francis Group, LLC
MATLAB® is a trademark of The MathWorks, Inc. and is used with permission. The MathWorks does not warrant the accuracy
of the text or exercises in this book. This book’s use or discussion of MATLAB® software or related products does not consti-
tute endorsement or sponsorship by The MathWorks of a particular pedagogical approach or particular use of the MATLAB®
software.
CRC Press
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742
© 2012 by Taylor & Francis Group, LLC
CRC Press is an imprint of Taylor & Francis Group, an Informa business
No claim to original U.S. Government works
Version Date: 20111004
International Standard Book Number-13: 978-1-4398-6904-8 (eBook - PDF)
This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to
publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials
or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material repro-
duced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any
copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any
form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming,
and recording, or in any information storage or retrieval system, without written permission from the publishers.
For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://www.copy-
right.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400.
CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been
granted a photocopy license by the CCC, a separate system of payment has been arranged.
Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identifica-
tion and explanation without intent to infringe.
Visit the Taylor & Francis Web site at
http://www.taylorandfrancis.com
and the CRC Press Web site at
http://www.crcpress.com
© 2012 by Taylor & Francis Group, LLC
ix
Contents
Preface ..................................................................xvii
1Chapter Introduction to Java in MATLAB
®
....................................1
1.1 Creating Java Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.1.1 The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.1.2 Accessing Java Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.1.3 Memory Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Java Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Java Object Methods and Actions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Java Events and MATLAB Callbacks
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5 Safe Java Programming in MATLAB — A How-to Guide . . . . . . . . . . . . . . . . . . . . . . . . . .24
1.6 Compiling and Debugging User-Created Java Classes in MATLAB . . . . . . . . . . . . . . . . . . 27
1.7 Compatibility Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.8 Java Versions in MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
1.8.1 Pre-Bundled JVM Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.8.2 Conguring MATLAB to Use a Different JVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.9 J a v a . o p t s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
2Chapter Using Non-GUI Java Libraries in MATLAB
®
...........................55
2.1 Complex Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.1.1 Java Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
2.1.2 Collections Example: Hashtable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.1.3 Enumerators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
2.2 Database Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.2.1 Using Java Database Connectivity (JDBC) in MATLAB . . . . . . . . . . . . . . . . . . . . . 62
2.2.2 Initializing the JDBC Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
2.2.3 Connecting to a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.2.4 Sending SQL Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
2.2.5 Handling SQL Result Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.3 Miscellaneous Other Uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.4 A Short Pause for Reection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
K13163_Book.indb 9 11/8/2011 8:06:13 PM
© 2012 by Taylor & Francis Group, LLC
x Contents
3Chapter Rich GUI Using Java Swing.........................................79
3.1 Adding Java Swing Components to MATLAB Figures. . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
3.1.1 The javacomponent Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
3.1.2 The Swing Component Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
3.1.3 Displaying Swing-Derived Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
3.1.4 UIComponent and JControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.2 MATLAB’s Main Thread and the Event Dispatch Thread (EDT). . . . . . . . . . . . . . . . . . . . . 91
3.3 Customizing Java Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
3.3.1 Component Properties and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
3.3.2 L o o k - a n d - F e e l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.3.3 HTML Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.3.4 Focus Traversal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.4 Component Callbacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.5 Using Third-Party Libraries in MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
3.5.1 JFreeChart and Other Charting Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
3.5.2 JFreeReport and Other Reporting Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
3.5.3 JGraph and Other Visualization Libraries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.5.4 ImageJ and Other Image-Processing Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
3.5.5 Swing Extension Class Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
3.5.6 A Note of Caution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
3.6 System-Tray Icons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
3.7 Drag-and-Drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
3.7.1 Data Transfer Mechanism in MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
3.7.2 A Sample MATLAB Application That Supports DND . . . . . . . . . . . . . . . . . . . . . 138
3.8 Adding MATLAB Components to Java Swing Containers . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.9 Alternatives to Swing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147
4Chapter Uitools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
4.1 U i t a b l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
4.1.1 Customizing Uitable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4.1.2 Table Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.1.3 Customizing Scrollbars, Column Widths, and Selection Behavior. . . . . . . . . . . . . 168
4.1.4 Data Sorting and Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
4.1.5 JIDE Customizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
4.1.6 Controlling Table Structure (Adding/Deleting Rows) . . . . . . . . . . . . . . . . . . . . . . . 174
4.1.7 Final Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
4.2 U i t r e e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
4.2.1 Customizing Uitree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
4.2.2 Accessing Tree Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.2.3 Controlling Tree Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
K13163_Book.indb 10 11/8/2011 8:06:14 PM
© 2012 by Taylor & Francis Group, LLC
xiContents
4.2.4 Customizing Tree Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
4.2.5 F i n d J O b j . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.3 U i t a b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
4.3.1 Customizing Tabs at the Java Level. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
4.3.2 Tabdlg and Other Alternatives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
4.4 U i u n d o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
4.5 T o o l b a r s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
4.5.1 Uitoolfactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203
4.5.2 Other Undocumented Toolbar Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
4.5.3 Customizing Toolbars at the Java Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206
4.5.4 Uisplittool and Uitogglesplittool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
4.5.5 Adding Undo/Redo Toolbar Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
4.6 M e n u s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
4.6.1 Accessing Menu Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
4.6.2 Customizing Menus via Uitools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224
4.6.3 Customizing Menus via HTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225
4.6.4 Customizing Menus via Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
4.7 Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
5Chapter Built-In MATLAB
®
Widgets and Java Classes .........................241
5.1 Internal MATLAB Java Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
5.1.1 Inspecting Package Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242
5.1.2 Inspecting an Internal MATLAB Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
5.1.3 S t a n d a r d MATLAB Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
5.2 MWSwing Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
5.2.1 Enhancements of Standard Java Swing Controls. . . . . . . . . . . . . . . . . . . . . . . . . . .250
5.2.2 Entirely New Java Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
5.2.3 Other MWSwing Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266
5.3 MWT Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266
5.4 MLWidgets Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
5.4.1 Color-Selection Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
5.4.2 Plot-Type Selection Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284
5.5 Widgets Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
5.5.1 Widget Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
5.5.2 Font-Selection Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299
5.5.3 D i a l o g s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303
5.5.4 Closable (Collapsible) Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306
5.5.5 Specialized Widgets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308
5.6 MLServices Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
5.7 J I D E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
5.7.1 Important JIDE Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
K13163_Book.indb 11 11/8/2011 8:06:14 PM
© 2012 by Taylor & Francis Group, LLC
剩余670页未读,继续阅读
资源评论
- kanmeng3142019-11-15很好的资源,感谢分享
nn123456789
- 粉丝: 14
- 资源: 128
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 白色大气风格的摇滚音乐网站模板下载.zip
- 白色大气风格的医疗公司模板下载.zip
- 白色大气风格的医院网站模板下载.zip
- 白色大气风格的医疗设备企业网站模板.zip
- 白色大气风格的医院网页模板下载.zip
- 白色大气风格的英文网站模板下载.zip
- 白色大气风格的医院医疗网站模板下载.zip
- 白色大气风格的移动设备APP官网模板下载.zip
- 白色大气风格的有机小麦种植业网站模板下载.zip
- 白色大气风格的游泳体育竞技网站模板下载.zip
- 白色大气风格的影视传媒公司企业网站源码下载.zip
- 白色大气风格的中国教学教育网站模板下载.zip
- 白色大气风格的运动鞋销售网站模板下载.zip
- 白色大气风格的重工业公司模板下载.zip
- 白色大气风格的珠宝首饰网站模板下载.zip
- 白色大气风格的珠宝首饰官网整站网站源码下载.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功