Skip to content

Commit 9b0cd9b

Browse files
committed
updated readme
1 parent 441fceb commit 9b0cd9b

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

README.adoc

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,13 @@ All of them try more or less
2828

2929
When you develop a Java Swing GUI in practice, you face the following additional challenges
3030

31-
* how to enforce the proper threading (view elements like JPanel, JButton, ... should be only accessed by AWT-EventDispatchThread)
32-
* how to keep the view "responsive" by kicking off background actions (-> SwingWorker, new Thread(...), ExecutorService, ...)
33-
* how to combine the results from multiple asynchronous actions (multiple SwingWorker's, Thread's, Future's, ...) into one result for the view
34-
* how to implement Undo/Redo, Validation, Exception-Handling, Timeouts, ...
35-
* how to enforce acyclic relationships between "stuff" to get good (isolated) testability
36-
* how to connect an ActionListener on e.g. a "Cancel" button with a just started SwingWorker and disconnect it after the SwingWorker finished
31+
* how to enforce the proper threading (view elements like JPanel, JButton, ... should be only accessed by AWT-EventDispatchThread)?
32+
* how to keep the view "responsive" by kicking off background actions (-> SwingWorker, new Thread(...), ExecutorService, ...)?
33+
* how to combine the results from multiple asynchronous actions (multiple SwingWorker's, Thread's, Future's, ...) into one result for the view?
34+
* how to implement Undo/Redo, Validation, Exception-Handling, Timeouts, ...?
35+
* how to enforce acyclic relationships between "stuff" to get good (isolated) testability?
36+
* how to deal with backpressure when e.g. the backend is to fast for the frontend and the GUI thread can't keep up?
37+
* how to connect an ActionListener on e.g. a "Cancel" button with a just started SwingWorker and disconnect it after the SwingWorker finished?
3738
* ...
3839

3940
So, which GUI architecture should you choose? What are the benefits and drawbacks in general? And for your current project?

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ apply plugin: 'java'
77
apply plugin: 'eclipse'
88
apply plugin: 'groovy'
99

10-
version = '1.3'
10+
version = '1.4-SNAPSHOT'
1111

1212
def fileEncoding = 'UTF-8'
1313

0 commit comments

Comments
 (0)