• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Build large Swing application?

 
david zhang
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
I need to build a large Swing application. I have read some
tutorial books and articles, but each of them has only examples,
or very small example applications, none
of them revealing the considerations and practical
techniques in buiding large Swing applicaitons, or
none of them talking about these things systematically.
By considerations and techniques I mean
what patterns are most often used in what places.
how to manage many screens?
how to build fast applications.
application initialization.
general application structure.
......
I would be very grateful if anybody could provide any informaiton
about related sites or links or articles or books.
Thanks very much in advance!
David
 
Jose Botella
Ranch Hand
Posts: 2120
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A very ggod book about Swing is Swing 2nd ed. by Matthew Robinson and Pavel Vorobiev. It has some medium size examples, and most of them are solutions to real problems a programmer might deal with.
A suggestion about how to face a real project could be Applying UML and Patterns by Craig Larman.
 
Chris Shepherd
Ranch Hand
Posts: 286
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't know any good books that deal with large apps, But I have written (what I consider to be) a very large app that comes in at about ~20k lines. One of the most important things I have learned is plan out as much as possible, but be willing to leave the plan if you need to.
It sounds like you are new to java, are you new to programming? Alot of standard coding techniques also appliy to java as well.
It really sounds like you need to grow this project, not just write it. Start with something simple like Bringing up a JFrame with a Hello world label or something easy like that. Get your feet wet and learn the basics. Ask questions here, or more importantly (and faster usually) search to see if the question has already been answered. This seems like a really simplistic aproach, but start easy and work up to the multiple windows/program structure. Build it to work first. Then tweak it to work fast.
What kind of a project is it?
HTH
Chris
 
Gregg Bolinger
GenRocket Founder
Ranch Hand
Posts: 15302
6
Chrome IntelliJ IDE Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
One of the biggest complaints about SWING apps is how it performs. And in this regard, it is of my opinion from what I have read that you really need to know how SWING threads work and how the event model in SWING works. Because the performance in your app will bottleneck when you process event requests from things like clicking buttons, menuitems, etc.
Here is an article you might want to read. While I don't agree with the approach the article takes on dealing with the event thread, it does give a very good build up and discussion on how it actually works and some ways to possibly deal with it.
 
david zhang
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jose, Chris, and Gregg,
Please accept my sincere thanks for your information and advice.
I have done a lot of Java programming, but not in the Swing area.
I am either quite familar with or aware of patterns and many
other things.

My project is related to mining business data. Though
little experience in develop large-scale Swing app, I can somehow
quickly feel it if something does not go quite right. Very often,
I can "figure out" a solution. I personally feel constant refactoring
is fun and somehow an addiction. However, I still hope to
get things as right as possible at the beginning.
I feel there is lack of information/books in the Java Swing area that
gives a systematic/decent description of the tricks/techniques
for doing things
I mentioned in my previous message (another thing:
for instance, what is the often used approach to maintain menu item
enabling/disabling status, state machine?)
"plan out as much as possible, but be willing to
leave the plan if you need to" is very true. I hope to know what
options are and have a hopefully viable plan at the beginning....
Regards,
David
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic