 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Richard Asbury Guest
|
Posted: Tue Nov 16, 2004 5:31 pm Post subject: Swing MDI applications |
|
|
Dear all,
Can anyone point me in the direction of a tutorial for building MDI
applications with Swing, which goes beyond the Swing tutorial's "How to Use
Internal Frames"? I've seen a few references to a document at The Swing
Connection, but the document appears to have been taken down (it's no longer
in the archive).
In my searching around, I found a few comments from people suggesting that
MDI applications are no longer believed to be a good approach. Instead,
people suggest using a set of top level windows - one for each document.
Could someone explain to me why this is? In my opinion, this change does not
make the GUI any more data centric, but only serves to "unlink" the apps
windows from one another so that the user can no longer tell (at a glance)
which window belongs to which app. Do most users really prefer this solution
to the older "contained" MDI style?
Anyway, any help with either of these would be appreciated!
Richard Asbury
|
|
| Back to top |
|
 |
Steven T Abell Guest
|
Posted: Tue Nov 16, 2004 6:22 pm Post subject: Re: Swing MDI applications |
|
|
Richard Asbury wrote:
| Quote: | In my searching around, I found a few comments from people suggesting that
MDI applications are no longer believed to be a good approach. Instead,
people suggest using a set of top level windows - one for each document.
Could someone explain to me why this is? In my opinion, this change does not
make the GUI any more data centric, but only serves to "unlink" the apps
windows from one another so that the user can no longer tell (at a glance)
which window belongs to which app. Do most users really prefer this solution
to the older "contained" MDI style?
|
I wouldn't say that MDI is an "older" style:
true multi-window apps are as old as Smalltalk.
There is a tradeoff here,
and people have different preferences.
If you use only one app at a time,
but have multiple live docs within that app,
then a full-screen MDI is a nice way to go.
If you use one app at a time,
but only have one live doc at a time,
then MDI is a waste of screen space.
If you have multiple apps running at once,
and use them to arrange, compare, and transfer information
between windows in ways that no single application would allow,
then MDI is entirely counterproductive.
I've seen a lot of people who full-screen all their MDI apps,
and then painstakingly switch between apps
when they need to evaluate information from more than one.
It's an ineffective way of working,
but many people think it's the way things are supposed to be.
Breaking them of this habit can be hard.
A nice feature of a non-MDI app
is to be able to gather all of that app's windows together
in some nicely ranked arrangement on demand,
usually via some global menu item.
This allows you to clean up desktop clutter instantly,
which is the only thing that MDIs really have in their favor.
Steve
--
Steven T Abell
Sofware Designer
http://www.brising.com
In software, nothing is more concrete than a good abstraction.
|
|
| Back to top |
|
 |
Thomas Weidenfeller Guest
|
Posted: Wed Nov 17, 2004 8:38 am Post subject: Re: Swing MDI applications |
|
|
Richard Asbury wrote:
| Quote: | Can anyone point me in the direction of a tutorial for building MDI
applications with Swing, which goes beyond the Swing tutorial's "How to Use
Internal Frames"?
|
What are you missing? There isn't much more than placing JInternalFrames
on a JDesktop.
| Quote: | In my searching around, I found a few comments from people suggesting that
MDI applications are no longer believed to be a good approach.
|
Microsoft, for a long time the greatest proponent of MDI applications,
gave up on them and changed their GUI design rules some years ago.
On other platforms they were never popular at all. It was basically the
Microsoft world who made them so popular.
| Quote: | Instead,
people suggest using a set of top level windows - one for each document.
Could someone explain to me why this is?
|
Screen space is a scare resource. The big fat (and IMHO superfluous)
main windows of MDI applications take up so much of this scare resource
without delivering an adequate value.
| Quote: | In my opinion, this change does not
make the GUI any more data centric, but only serves to "unlink" the apps
windows from one another so that the user can no longer tell (at a glance)
which window belongs to which app.
|
And why should that matter? I always hear this from MDI fans. When do
you have the need to figure out (at a glance) "oh, all these windows
belong to application XYZ!". What you usually do is to look at a
particular window and check which file/data you are processing with that
window.
And even if you really need such a feature from time to time, is it
really worth to sacrify so much screen space all the time for the
occassional "tell at a glance"?
| Quote: | Do most users really prefer this solution
to the older "contained" MDI style?
|
There is not "THE" user. For the same reason users almost blindly click
on OK buttons if you present them one (it is a habit), there is a
category of users who absolutely want MDI. They are used to it and don't
want to change at all. You can sometimes also observer that MDI fan like
the "information throttling" caused by MDI. MDI limits the amount of
information you can have on the screen at once, because there isn't much
more room to see data from another application.
But if you take Unix users for example, they almost universally hate MDI
applications. Historically there were never many MDI applications for
Unix and any vendor trying to deliver an MDI application for Unix today
has a hard time. I have more than once seen that an application already
failed the first round in some application selection process because
just seconds after it started it came up with a big fat MDI window - of
course taking up the whole 21" screen.
I have seen people arguing that management types usually prefer MDI,
while technical peoples prefer SDI. I haven't observed this, but my GUI
applications were usually for technical people, and I never had a
request to change them to MDI.
/Thomas
|
|
| Back to top |
|
 |
Richard Asbury Guest
|
Posted: Wed Nov 17, 2004 10:21 pm Post subject: Re: Swing MDI applications |
|
|
"Thomas Weidenfeller" <nobody (AT) ericsson (DOT) invalid> wrote
| Quote: | Richard Asbury wrote:
In my opinion, this change does not make the GUI any more data centric,
but only serves to "unlink" the apps windows from one another so that the
user can no longer tell (at a glance) which window belongs to which app.
And why should that matter? I always hear this from MDI fans. When do you
have the need to figure out (at a glance) "oh, all these windows belong to
application XYZ!". What you usually do is to look at a particular window
and check which file/data you are processing with that window.
And even if you really need such a feature from time to time, is it really
worth to sacrify so much screen space all the time for the occassional
"tell at a glance"?
|
I'm thinking of situations where toolbars are in separate windows from the
documents that the tools act on - for example in an IDE like Sun ONE studio,
which offers both a "contained" window environment or separated windows. In
these situations one is often using menus, toolbars and documents, so it's
important that you know which toolbars are relevant to which documents. It
is worth the trade-off in space when you're switching between programs only
occasionally, and not using the apps together, e.g. browsing the web while
your e-mail program downloads messages in the background.
I appreciate that working with multiple apps at the same time would warrant
a more separable interface, so I guess the question for the app writer is
whether their application is likely to be used with others simultaneously.
Richard
|
|
| Back to top |
|
 |
Larry Barowski Guest
|
Posted: Thu Nov 18, 2004 12:59 am Post subject: Re: Swing MDI applications |
|
|
"Richard Asbury" <dickyrubbish (AT) hotmail (DOT) com> wrote
| Quote: | Dear all,
...
In my searching around, I found a few comments from people suggesting that
MDI applications are no longer believed to be a good approach. Instead,
people suggest using a set of top level windows - one for each document.
...
|
Using Swing, it isn't too much work to offer the user both modes, as well as
the
ability to move individual windows between the virtual desktop and system
desktop.
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|