Professional Java user interfaces:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Chichester [u.a.]
Wiley
2006
|
Schlagworte: | |
Online-Zugang: | Table of contents Inhaltsverzeichnis |
Beschreibung: | XXXIV, 632 S. Ill. |
ISBN: | 0471486965 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV021627010 | ||
003 | DE-604 | ||
005 | 20210113 | ||
007 | t | ||
008 | 060622s2006 xxua||| |||| 00||| eng d | ||
010 | |a 2006004498 | ||
020 | |a 0471486965 |9 0-471-48696-5 | ||
035 | |a (OCoLC)248469882 | ||
035 | |a (DE-599)BVBBV021627010 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-863 |a DE-29T |a DE-355 | ||
050 | 0 | |a QA76.73.J38 | |
082 | 0 | |a 005.133 | |
082 | 0 | |a 005.13/3 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 280 |0 (DE-625)143645: |2 rvk | ||
100 | 1 | |a Marinilli, Mauro |e Verfasser |4 aut | |
245 | 1 | 0 | |a Professional Java user interfaces |c Mauro Marinilli |
264 | 1 | |a Chichester [u.a.] |b Wiley |c 2006 | |
300 | |a XXXIV, 632 S. |b Ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 4 | |a Programmierung - Graphische Benutzeroberfläche - Java <Programmiersprache> | |
650 | 4 | |a Java (Computer program language) | |
650 | 4 | |a User interfaces (Computer systems) | |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Java |g Programmiersprache |0 (DE-588)4401313-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Graphische Benutzeroberfläche |0 (DE-588)4275084-2 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Java |g Programmiersprache |0 (DE-588)4401313-9 |D s |
689 | 0 | 1 | |a Graphische Benutzeroberfläche |0 (DE-588)4275084-2 |D s |
689 | 0 | 2 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | |u http://www.loc.gov/catdir/toc/ecip068/2006004498.html |3 Table of contents | |
856 | 4 | 2 | |m Digitalisierung UB Regensburg |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014841973&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-014841973 |
Datensatz im Suchindex
DE-BY-863_location | 1911 |
---|---|
DE-BY-FWS_call_number | 1911/2015:0775 |
DE-BY-FWS_katkey | 269658 |
DE-BY-FWS_media_number | 083100909032 |
_version_ | 1806174390315909120 |
adam_text | Contents
Acknowledgements
xxi
Introduction
xxiii
The interactivity thrill
xxiii
Usable GUIs and usable books
xxiv
The organization of the book
xxv
Three levels of advice
xxvii
Conventions used in the book
xxviii
Source code
xxviii
Reader feedback
xxix
Book readers and
personas
xxix
Lars, a Java intermediate programmer
xxx
Keiichi, a tech lead
xxx
Shridhar, a professor in computer science
xxxi
Melinda (Mellie),
a manager
xxxi
William, a first year student in a Master in CS course
xxxii
Karole, a business analyst
xxxiii
Juan, an experienced programmer
xxxiii
1
Putting GUI Development into Context
1
1.1
Introduction
2
1.2
Focusing on users
2
1.3
A functional decomposition for user interfaces
3
1.4
Tool selection: the Java singularity
6
Of running little green men and wrong choices
7
1.5
Organizational aspects
7
People and GUIs
8
Team composition
10
1.6
Early design
12
Use case diagrams and GUIs
12
Contents
1.7 Lifecycle
models, processes and approaches 14
Rational Unified Process 15
Extreme Programming and other Agile approaches
20
LUCID methodology 22
Evolutionary Prototyping process 24
1.8
UML notation 26
Class diagrams 2^
Sequence diagrams
28
State diagrams 29
1.9
Summary 30
Part IV User Interface Design
2
Introduction to User Interface Design
31
2.1
The human factor 32
A model of interactive systems
-
seven stages
and two gulfs
32
Developers are part of the design process
34
Short term memory and cognitive modeling
36
Interacting with human beings
39
User-centered design
44
Simplified thinking aloud
46
2.2
Display organization
47
Esthetic considerations
49
Abstract-Augmented Area for GUIs
51
2.3
Interaction styles
57
Menu selection
57
Form filling
59
Language-based styles
62
Direct manipulation
63
2.4
Conceptual frameworks for Ul design
64
Entity-based approaches to
U
I design
65
Metaphor-based approaches to Ul design
66
Function-based approaches to Ul design
67
Null approach to Ul design
67
Object-oriented user interfaces
69
2.5
Assessing the quality of a GUI
72
Usability heuristics
73
2.6
Summary
75
Contents xi
3
Java GUI Design
77
3.1
Java technology for GUIs
77
Assembling the components
77
Three levels of component cost
79
3.2
Cost-driven design
81
Ad-hoc versus custom
-
the difference between run and ride
81
When ad-hoc is the only way to go
83
3.3
Exploring the design space for a point chooser
86
Standard designs
88
Ad-hoc designs
91
Mixed designs
97
Conclusions
99
3.4
Design guidelines for the Java platform
100
Introduction to the guidelines
100
J2SE user interface design guidelines
103
3.5
The Java look and feel design guidelines
108
Some definitions
109
The Java look
109
The Java feel
110
Some terminology
112
An example
-
applying the guidelines for designing dialogs
114
3.6
Summary
117
4
Recurring User Interface Designs
119
4.1
GUI area organization
120
Terminology
120
Main frames
121
Multiple document interfaces
123
Wizards
124
4.2
Choosers
126
Chooser activation mechanisms
127
Chooser interaction styles
128
Broadening the choice
131
Conclusions
133
4.3
Memory components
133
Input history
134
Saving user preferences
134
4.4
Lazv initialization
135
.. Contents
137
138
141
144
146
146
149
150
151
152
156
157
158
160
161
161
161
161
162
163
164
165
166
167
Part V
Software Design
5
Iterative GUI Development with Java
169
5.1
Iterating wisely
171
5.2
Introduction to prototyping
173
Uses for prototyping
174
The two dimensions of prototyping
176
Competitors product as ready-made prototypes
177
Prototyping as a philosophy for development
177
Prototypes and customers
178
5.3
Prototyping alternatives
179
Different types of prototypes
179
Storyboards 182
4.5
Preference dialogs
Preference dialogs styles
4.6
Waiting strategies
4.7
Flexible layout
4.8
Common dialogs
The About dialog
Log-in dialog
First-time message dialogs
Splash window
4.9
Command components
Graphic conventions
Toolbar composition
Command composition
4.10
Accessibility
Testing the final product for accessibility
Conclusions
4.11
Navigation and keyboard support
Keyboard shortcuts
Tab traversal
4.12
Internationalization
4.13
Help support
4.14
Icons and images
4.15
Leveraging object-oriented programming
4.16
Summary
Contents xiii
5.4
GUI builders
184
5.5
Reusable prototyping widgets
187
A tree prototype utility class
187
A visual container prototype utility class
190
5.6
GUI
refactoring
191
Some classic refactorings
191
Some GUI-specific refactorings
194
Failing with style
201
5.7
Introduction to user interface testing
203
Test-driven development
204
What s first
-
GUI design or implementation?
204
5.8
Software testing of Java GUIs
206
How to test
-
GUI software test approaches
206
What to test
-
test coverage criteria
210
5.9
Usability testing of Java GUIs
211
5.10
JRE runtime management
214
Introduction to profiling
214
Common problems
216
Continuous profiling
219
A posteriori profiling
220
5.11
Summary
221
6
Implementation Issues
223
6.1
Revisiting the abstract model
224
Testing the various layers
226
The principle of Single Functional Responsibility
227
Isolating presentation details
228
6.2
Content
229
Content assembly
229
Explicit navigation
231
6.3
Business domain
231
6.4
Data input-output
233
A comprehensive data
IO
design strategy
233
Some design patterns
234
Remote communication design
235
Security issues
236
6.5
Making objects communicate
239
The Observer pattern
240
Swing
évente
242
XIV
SWT events
243
Design-time class decoupling with events
243
Event Arbitrator
245
Misuses of event-based messaging
248
Alternatives to event-based communication mechanisms
250
6.6
Separating data from views
251
Model-View-Controller
252
6.7
Interaction and control
257
Representing user actions with the Command pattern
257
Control issues
260
A state-oriented approach to GUI control
265
6.8
Some design patterns for GUIs
271
Adaptation
271
Composite Context
277
Active Object
279
Object lifecycle management
-
a general mindset
280
Value Model
282
6.9
GUI complexity boosters
283
6.10
Summary
285
7
Code Organization
287
7.1
Introducing software architectures
287
Taming references
289
Composable units
292
Evolving order and appropriate architectures
294
7.2
Some common GUI architectures
295
The smart GUI antipattem
296
A semi-smart GUI architecture
297
A three-layer architecture
298
A four-layer architecture
299
7.3
A three-layer organization for GUI code
300
Overview
301
The presentation layer
303
The application layer
304
The service layer
305
7.4
Two examples of a three-layer implementation
306
An MP3 player
306
An electronic circuit simulator and editor
309
Contents xv
7.5
The service layer
314
Overview
314
Persistence services
319
Factory services
319
Other services
320
7.6
Summary
321
Key ideas
322
8
Form-Based Rich Clients
323
8.1
Introduction
323
Defining rich clients
324
Java rich clients
325
GUI design for rich clients: the Third Way
326
8.2
Reference functional model
326
Distributing behavior between client and server
327
Common problems
329
8.3
Runtime data model
329
Validation
332
When to validate and notify
339
8.4
The cake-ordering application, the XP way
343
Setting up the first Iteration
344
Content first
346
Data second
350
Commands third
353
Closing the loop with the server
357
8.5
Summary
358
9
Web-Based User Interfaces
359
9.1
An overview of Web user interfaces
359
9.2
GUI design for the Web
361
Fine graphics details
361
Area organization
362
Levels of client-side control
362
Navigation issues
365
9.3
Implementing Web applications with Java
368
The typical architecture of a Web application
368
Basic Java Web GUI technologies
369
Java applets
370
Contents
9.4
From Web applications to rich clients
371
Different development habits
372
9.5
Summary
373
10
J2ME User Interfaces
375
10.1
Introduction to the MID profile
375
Main Ul concepts
376
Main Ul limitations
379
Cost-driven design for J2ME GUIs
379
10.2
TheMIDPUIAPI
379
U
I widgets
379
10.3
Designing MIDP GUIs
382
Abstract GUI designs
384
10.4
Designing navigation
385
10.5
An example custom item
387
10.6
An example ad-hoc item
388
10.7
An example application
389
The code
391
10.8
Summary
392
11
Java Tools and Technologies
393
11.1
Introduction to tool selection
394
11.2
Evaluating open source software
394
Open Source Maturity Model
396
11.3
SWT or Swing?
397
The toolkits
397
Choosing a toolkit
403
Mix and match
409
11.4
Other GUI technologies
410
11.5
Utility libraries
411
Security tools
412
Deployment tools
413
Glazed Lists
413
JGoodies Swing Suite
414
L2FProd Common Components
415
Other OSS component libraries
415
Some commercially-available Swing components
418
11.6
Test tools
420
11.7
Profiling tools
421
Contents xvii
11.8
GUI builders
422
11.9
Presentation layer technologies
424
Assessing a look and feel
425
Swing look and feels
426
SWT Presentation
442
11.10
Declarative GUIs with Java
443
XML-based formats
443
11.11
Summary
445
12
Advanced Issues
447
12.1
Building on top of existing libraries
447
Attributes
448
Roll your own framework
451
12.2
Memory management for complex GUIs
454
A practical case
455
12.3
Restructuring existing GUI code
457
Porting an old applet
-
a case study
459
Long-life GUIs
463
Providing new deployment support
464
12.4
Exploiting technology
465
12.5
Domain-specific and Little languages
466
12.6
The future of Java GUIs
468
12.7
Summary
469
Part VI Examples
13
Rich Client Platforms
471
13.1
Introduction to Java rich client platforms
471
The case for RCP applications
472
What s in an RCP
473
GUI design guidelines and RCPs
474
13.2
The NetBeans RCP
474
NRCP architecture
475
13.3
The Spring RCP
476
13.4
The Eclipse RCP
477
Eclipse plug-in architecture
477
Eclipse RCP plug-ins
478
The workbench
-
the building blocks of ERCP GUIs
479
GUI design guidelines for ERCP applications
482
xviii
ContentS
13.5
Choosing the best RCP for your needs
483
When to employ an RCP
484
13.6
Legal issues
485
Eclipse 485
Netbeans 486
13.7
An example Eclipse RCP application
486
The application
487
Introducing client-side modular architectures
489
The Snooper application architecture
492
13.8
Summary
496
14
The Personal Portfolio Application
497
14.1
The scenario
497
A note on lifecycle models
498
14.2
Analysis
499
Early analysis
499
Some scenarios
503
A refined use case diagram
504
Individuating boundary classes
505
14.3
Choosing a technology
505
14.4
An initial GUI design
506
An initial GUI paper mock-up
506
A second GUI paper mock-up
508
A throw-away GUI prototype
511
Validating the throw-away prototype
512
14.5
The final GUI
513
14.6
Implementation
515
Software requirements
516
The software architecture
516
14.7
Resources
524
Localization bundles
525
Images
525
14.8
The code
525
The remote explorer director
526
The prototype
529
14.9
Deployment issues
529
Server support
529
Contents xix
14.10 An alternative,
cost-driven implementation
530
Choosing a higher-level starting point
530
A cost-driven prototype using JDNC
531
A brief introduction to JDNC
531
14.11
Summary
533
15
An Example
00
User Interface
535
15.1
Introduction
536
A matter of style
536
15.2
Implementing object-oriented user interfaces
537
The Viewable interface
538
15.3
Some utility classes
542
Brief views
542
Making collections viewable
543
15.4
Configuration views
544
A utility class
544
15.5
Interacting with the user
546
The Commandable interface
546
15.6
Managing user commands
549
15.7
An example application
550
OOUI objects
551
The code
555
Libraries
558
Some GUI design considerations
559
Control issues
560
15.8
An alternative implementation using Naked Objects
563
15.9
Summary
565
16
An Example
Ad
-Нос
Component
567
16.1
Introduction
568
16.2
The Drawing Sandbox application
569
The application
570
16.3
The Sandbox architecture
573
16.4
The Sandbox component
575
Top-down refinement of functional organization
575
Organizing object communication
575
Graphical objects
579
16.5
User interaction
582
Command composition
582
The Action framework
583
The Actions class
584
Undo-redo support
587
The Edit class
588
Recording edits
589
Memory issues
590
16.6
Control
592
The Director class
594
Managing actions
595
Enforcing logical constraints on actions
596
16.7
The whole picture
597
16.8
Stressing the software design
598
Adding objects and commands
599
The design s weak points
600
16.9
Introducing JHotdraw
601
16.10
Summary
605
Key ideas
605
A A Questionnaire for Evaluating Java User Interfaces
607
В
A Questionnaire for Evaluating J2ME Applications
613
References
621
General advice on usability and GUI design
626
Java-specific links
627
Index
629
|
adam_txt |
Contents
Acknowledgements
xxi
Introduction
xxiii
The interactivity thrill
xxiii
Usable GUIs and usable books
xxiv
The organization of the book
xxv
Three levels of advice
xxvii
Conventions used in the book
xxviii
Source code
xxviii
Reader feedback
xxix
Book readers and
personas
xxix
Lars, a Java intermediate programmer
xxx
Keiichi, a tech lead
xxx
Shridhar, a professor in computer science
xxxi
Melinda (Mellie),
a manager
xxxi
William, a first year student in a Master in CS course
xxxii
Karole, a business analyst
xxxiii
Juan, an experienced programmer
xxxiii
1
Putting GUI Development into Context
1
1.1
Introduction
2
1.2
Focusing on users
2
1.3
A functional decomposition for user interfaces
3
1.4
Tool selection: the Java singularity
6
Of running little green men and wrong choices
7
1.5
Organizational aspects
7
People and GUIs
8
Team composition
10
1.6
Early design
12
Use case diagrams and GUIs
12
Contents
1.7 Lifecycle
models, processes and approaches 14
Rational Unified Process 15
Extreme Programming and other Agile approaches
20
LUCID methodology 22
Evolutionary Prototyping process 24
1.8
UML notation 26
Class diagrams 2^
Sequence diagrams
28
State diagrams 29
1.9
Summary 30
Part IV User Interface Design
2
Introduction to User Interface Design
31
2.1
The human factor 32
A model of interactive systems
-
seven stages
and two gulfs
32
Developers are part of the design process
34
Short term memory and cognitive modeling
36
Interacting with human beings
39
User-centered design
44
Simplified thinking aloud
46
2.2
Display organization
47
Esthetic considerations
49
Abstract-Augmented Area for GUIs
51
2.3
Interaction styles
57
Menu selection
57
Form filling
59
Language-based styles
62
Direct manipulation
63
2.4
Conceptual frameworks for Ul design
64
Entity-based approaches to
U
I design
65
Metaphor-based approaches to Ul design
66
Function-based approaches to Ul design
67
'Null' approach to Ul design
67
Object-oriented user interfaces
69
2.5
Assessing the quality of a GUI
72
Usability heuristics
73
2.6
Summary
75
Contents xi
3
Java GUI Design
77
3.1
Java technology for GUIs
77
Assembling the components
77
Three levels of component cost
79
3.2
Cost-driven design
81
Ad-hoc versus custom
-
the difference between 'run' and 'ride'
81
When ad-hoc is the only way to go
83
3.3
Exploring the design space for a point chooser
86
Standard designs
88
Ad-hoc designs
91
Mixed designs
97
Conclusions
99
3.4
Design guidelines for the Java platform
100
Introduction to the guidelines
100
J2SE user interface design guidelines
103
3.5
The Java look and feel design guidelines
108
Some definitions
109
The Java 'look'
109
The Java 'feel'
110
Some terminology
112
An example
-
applying the guidelines for designing dialogs
114
3.6
Summary
117
4
Recurring User Interface Designs
119
4.1
GUI area organization
120
Terminology
120
Main frames
121
Multiple document interfaces
123
Wizards
124
4.2
Choosers
126
Chooser activation mechanisms
127
Chooser interaction styles
128
Broadening the choice
131
Conclusions
133
4.3
Memory components
133
Input history
134
Saving user preferences
134
4.4
Lazv initialization
135
. Contents
137
138
141
144
146
146
149
150
151
152
156
157
158
160
161
161
161
161
162
163
164
165
166
167
Part V
Software Design
5
Iterative GUI Development with Java
169
5.1
Iterating wisely
171
5.2
Introduction to prototyping
173
Uses for prototyping
174
The two dimensions of prototyping
176
Competitors' product as ready-made prototypes
177
Prototyping as a philosophy for development
177
Prototypes and customers
178
5.3
Prototyping alternatives
179
Different types of prototypes
179
Storyboards 182
4.5
Preference dialogs
Preference dialogs styles
4.6
Waiting strategies
4.7
Flexible layout
4.8
Common dialogs
The 'About' dialog
Log-in dialog
First-time message dialogs
Splash window
4.9
Command components
Graphic conventions
Toolbar composition
Command composition
4.10
Accessibility
Testing the final product for accessibility
Conclusions
4.11
Navigation and keyboard support
Keyboard shortcuts
Tab traversal
4.12
Internationalization
4.13
Help support
4.14
Icons and images
4.15
Leveraging object-oriented programming
4.16
Summary
Contents xiii
5.4
GUI builders
184
5.5
Reusable prototyping widgets
187
A tree prototype utility class
187
A visual container prototype utility class
190
5.6
GUI
refactoring
191
Some classic refactorings
191
Some GUI-specific refactorings
194
Failing with style
201
5.7
Introduction to user interface testing
203
Test-driven development
204
What's first
-
GUI design or implementation?
204
5.8
Software testing of Java GUIs
206
How to test
-
GUI software test approaches
206
What to test
-
test coverage criteria
210
5.9
Usability testing of Java GUIs
211
5.10
JRE runtime management
214
Introduction to profiling
214
Common problems
216
Continuous profiling
219
A posteriori profiling
220
5.11
Summary
221
6
Implementation Issues
223
6.1
Revisiting the abstract model
224
Testing the various layers
226
The principle of Single Functional Responsibility
227
Isolating presentation details
228
6.2
Content
229
Content assembly
229
Explicit navigation
231
6.3
Business domain
231
6.4
Data input-output
233
A comprehensive data
IO
design strategy
233
Some design patterns
234
Remote communication design
235
Security issues
236
6.5
Making objects communicate
239
The Observer pattern
240
Swing
évente
242
XIV
SWT events
243
Design-time class decoupling with events
243
Event Arbitrator
245
Misuses of event-based messaging
248
Alternatives to event-based communication mechanisms
250
6.6
Separating data from views
251
Model-View-Controller
252
6.7
Interaction and control
257
Representing user actions with the Command pattern
257
Control issues
260
A state-oriented approach to GUI control
265
6.8
Some design patterns for GUIs
271
Adaptation
271
Composite Context
277
Active Object
279
Object lifecycle management
-
a general mindset
280
Value Model
282
6.9
GUI complexity boosters
283
6.10
Summary
285
7
Code Organization
287
7.1
Introducing software architectures
287
Taming references
289
Composable units
292
Evolving order and appropriate architectures
294
7.2
Some common GUI architectures
295
The smart GUI antipattem
296
A semi-smart GUI architecture
297
A three-layer architecture
298
A four-layer architecture
299
7.3
A three-layer organization for GUI code
300
Overview
301
The presentation layer
303
The application layer
304
The service layer
305
7.4
Two examples of a three-layer implementation
306
An MP3 player
306
An electronic circuit simulator and editor
309
Contents xv
7.5
The service layer
314
Overview
314
Persistence services
319
Factory services
319
Other services
320
7.6
Summary
321
Key ideas
322
8
Form-Based Rich Clients
323
8.1
Introduction
323
Defining rich clients
324
Java rich clients
325
GUI design for rich clients: the Third Way
326
8.2
Reference functional model
326
Distributing behavior between client and server
327
Common problems
329
8.3
Runtime data model
329
Validation
332
When to validate and notify
339
8.4
The cake-ordering application, the XP way
343
Setting up the first Iteration
344
Content first
346
Data second
350
Commands third
353
Closing the loop with the server
357
8.5
Summary
358
9
Web-Based User Interfaces
359
9.1
An overview of Web user interfaces
359
9.2
GUI design for the Web
361
Fine graphics details
361
Area organization
362
Levels of client-side control
362
Navigation issues
365
9.3
Implementing Web applications with Java
368
The typical architecture of a Web application
368
Basic Java Web GUI technologies
369
Java applets
370
Contents
9.4
From Web applications to rich clients
371
Different development habits
372
9.5
Summary
373
10
J2ME User Interfaces
375
10.1
Introduction to the MID profile
375
Main Ul concepts
376
Main Ul limitations
379
Cost-driven design for J2ME GUIs
379
10.2
TheMIDPUIAPI
379
U
I widgets
379
10.3
Designing MIDP GUIs
382
Abstract GUI designs
384
10.4
Designing navigation
385
10.5
An example custom item
387
10.6
An example ad-hoc item
388
10.7
An example application
389
The code
391
10.8
Summary
392
11
Java Tools and Technologies
393
11.1
Introduction to tool selection
394
11.2
Evaluating open source software
394
Open Source Maturity Model
396
11.3
SWT or Swing?
397
The toolkits
397
Choosing a toolkit
403
Mix and match
409
11.4
Other GUI technologies
410
11.5
Utility libraries
411
Security tools
412
Deployment tools
413
Glazed Lists
413
JGoodies Swing Suite
414
L2FProd Common Components
415
Other OSS component libraries
415
Some commercially-available Swing components
418
11.6
Test tools
420
11.7
Profiling tools
421
Contents xvii
11.8
GUI builders
422
11.9
Presentation layer technologies
424
Assessing a look and feel
425
Swing look and feels
426
SWT Presentation
442
11.10
Declarative GUIs with Java
443
XML-based formats
443
11.11
Summary
445
12
Advanced Issues
447
12.1
Building on top of existing libraries
447
Attributes
448
Roll your own framework
451
12.2
Memory management for complex GUIs
454
A practical case
455
12.3
Restructuring existing GUI code
457
Porting an old applet
-
a case study
459
Long-life GUIs
463
Providing new deployment support
464
12.4
Exploiting technology
465
12.5
Domain-specific and Little languages
466
12.6
The future of Java GUIs
468
12.7
Summary
469
Part VI Examples
13
Rich Client Platforms
471
13.1
Introduction to Java rich client platforms
471
The case for RCP applications
472
What's in an RCP
473
GUI design guidelines and RCPs
474
13.2
The NetBeans RCP
474
NRCP architecture
475
13.3
The Spring RCP
476
13.4
The Eclipse RCP
477
Eclipse plug-in architecture
477
Eclipse RCP plug-ins
478
The workbench
-
the building blocks of ERCP GUIs
479
GUI design guidelines for ERCP applications
482
xviii
ContentS
13.5
Choosing the best RCP for your needs
483
When to employ an RCP
484
13.6
Legal issues
485
Eclipse 485
Netbeans 486
13.7
An example Eclipse RCP application
486
The application
487
Introducing client-side modular architectures
489
The Snooper application architecture
492
13.8
Summary
496
14
The Personal Portfolio Application
497
14.1
The scenario
497
A note on lifecycle models
498
14.2
Analysis
499
Early analysis
499
Some scenarios
503
A refined use case diagram
504
Individuating boundary classes
505
14.3
Choosing a technology
505
14.4
An initial GUI design
506
An initial GUI paper mock-up
506
A second GUI paper mock-up
508
A throw-away GUI prototype
511
Validating the throw-away prototype
512
14.5
The final GUI
513
14.6
Implementation
515
Software requirements
516
The software architecture
516
14.7
Resources
524
Localization bundles
525
Images
525
14.8
The code
525
The remote explorer director
526
The prototype
529
14.9
Deployment issues
529
Server support
529
Contents xix
14.10 An alternative,
cost-driven implementation
530
Choosing a higher-level starting point
530
A cost-driven prototype using JDNC
531
A brief introduction to JDNC
531
14.11
Summary
533
15
An Example
00
User Interface
535
15.1
Introduction
536
A matter of style
536
15.2
Implementing object-oriented user interfaces
537
The Viewable interface
538
15.3
Some utility classes
542
Brief views
542
Making collections viewable
543
15.4
Configuration views
544
A utility class
544
15.5
Interacting with the user
546
The Commandable interface
546
15.6
Managing user commands
549
15.7
An example application
550
OOUI objects
551
The code
555
Libraries
558
Some GUI design considerations
559
Control issues
560
15.8
An alternative implementation using Naked Objects
563
15.9
Summary
565
16
An Example
Ad
-Нос
Component
567
16.1
Introduction
568
16.2
The Drawing Sandbox application
569
The application
570
16.3
The Sandbox architecture
573
16.4
The Sandbox component
575
Top-down refinement of functional organization
575
Organizing object communication
575
Graphical objects
579
16.5
User interaction
582
Command composition
582
The Action framework
583
The Actions class
584
Undo-redo support
587
The Edit class
588
Recording edits
589
Memory issues
590
16.6
Control
592
The Director class
594
Managing actions
595
Enforcing logical constraints on actions
596
16.7
The whole picture
597
16.8
Stressing the software design
598
Adding objects and commands
599
The design's weak points
600
16.9
Introducing JHotdraw
601
16.10
Summary
605
Key ideas
605
A A Questionnaire for Evaluating Java User Interfaces
607
В
A Questionnaire for Evaluating J2ME Applications
613
References
621
General advice on usability and GUI design
626
Java-specific links
627
Index
629 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Marinilli, Mauro |
author_facet | Marinilli, Mauro |
author_role | aut |
author_sort | Marinilli, Mauro |
author_variant | m m mm |
building | Verbundindex |
bvnumber | BV021627010 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.J38 |
callnumber-search | QA76.73.J38 |
callnumber-sort | QA 276.73 J38 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 250 ST 280 |
ctrlnum | (OCoLC)248469882 (DE-599)BVBBV021627010 |
dewey-full | 005.133 005.13/3 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 005.13/3 |
dewey-search | 005.133 005.13/3 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01899nam a2200481zc 4500</leader><controlfield tag="001">BV021627010</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20210113 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">060622s2006 xxua||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2006004498</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0471486965</subfield><subfield code="9">0-471-48696-5</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)248469882</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV021627010</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-355</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.73.J38</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.13/3</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 280</subfield><subfield code="0">(DE-625)143645:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Marinilli, Mauro</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Professional Java user interfaces</subfield><subfield code="c">Mauro Marinilli</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Chichester [u.a.]</subfield><subfield code="b">Wiley</subfield><subfield code="c">2006</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXXIV, 632 S.</subfield><subfield code="b">Ill.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Programmierung - Graphische Benutzeroberfläche - Java <Programmiersprache></subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Java (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">User interfaces (Computer systems)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4401313-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Graphische Benutzeroberfläche</subfield><subfield code="0">(DE-588)4275084-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Java</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4401313-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Graphische Benutzeroberfläche</subfield><subfield code="0">(DE-588)4275084-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://www.loc.gov/catdir/toc/ecip068/2006004498.html</subfield><subfield code="3">Table of contents</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Regensburg</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014841973&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-014841973</subfield></datafield></record></collection> |
id | DE-604.BV021627010 |
illustrated | Illustrated |
index_date | 2024-07-02T14:55:36Z |
indexdate | 2024-08-01T10:48:46Z |
institution | BVB |
isbn | 0471486965 |
language | English |
lccn | 2006004498 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-014841973 |
oclc_num | 248469882 |
open_access_boolean | |
owner | DE-863 DE-BY-FWS DE-29T DE-355 DE-BY-UBR |
owner_facet | DE-863 DE-BY-FWS DE-29T DE-355 DE-BY-UBR |
physical | XXXIV, 632 S. Ill. |
publishDate | 2006 |
publishDateSearch | 2006 |
publishDateSort | 2006 |
publisher | Wiley |
record_format | marc |
spellingShingle | Marinilli, Mauro Professional Java user interfaces Programmierung - Graphische Benutzeroberfläche - Java <Programmiersprache> Java (Computer program language) User interfaces (Computer systems) Programmierung (DE-588)4076370-5 gnd Java Programmiersprache (DE-588)4401313-9 gnd Graphische Benutzeroberfläche (DE-588)4275084-2 gnd |
subject_GND | (DE-588)4076370-5 (DE-588)4401313-9 (DE-588)4275084-2 |
title | Professional Java user interfaces |
title_auth | Professional Java user interfaces |
title_exact_search | Professional Java user interfaces |
title_exact_search_txtP | Professional Java user interfaces |
title_full | Professional Java user interfaces Mauro Marinilli |
title_fullStr | Professional Java user interfaces Mauro Marinilli |
title_full_unstemmed | Professional Java user interfaces Mauro Marinilli |
title_short | Professional Java user interfaces |
title_sort | professional java user interfaces |
topic | Programmierung - Graphische Benutzeroberfläche - Java <Programmiersprache> Java (Computer program language) User interfaces (Computer systems) Programmierung (DE-588)4076370-5 gnd Java Programmiersprache (DE-588)4401313-9 gnd Graphische Benutzeroberfläche (DE-588)4275084-2 gnd |
topic_facet | Programmierung - Graphische Benutzeroberfläche - Java <Programmiersprache> Java (Computer program language) User interfaces (Computer systems) Programmierung Java Programmiersprache Graphische Benutzeroberfläche |
url | http://www.loc.gov/catdir/toc/ecip068/2006004498.html http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014841973&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT marinillimauro professionaljavauserinterfaces |
Inhaltsverzeichnis
THWS Würzburg Magazin
Signatur: |
1911 2015:0775 |
---|---|
Exemplar 1 | bestellbar aus dem Magazin Verfügbar Bestellen |