I have yet to see any application (regardless of platform) which
uses the Shift key on its own as a modifier key for a shortcut; most
users would expect Shift-V to produce a capital letter V.
Actually, I think Maya has keyboard shortcuts like that (Shift-H to
hide the selected model). But then, Maya's UI is absolutely atrocious
from an Apple HIG standpoint (there's a menubar attached to each
window inside of a frame), so it's hardly something to emulate.
Secondly, Cmd-D is a somewhat outdated shortcut for deletion; I seem
to recall seeing a handful of applications back in the System 7 era
using it. A more modern equivalent is Cmd-Delete (Backspace), or
simply Delete on its own (iTunes removes tracks from the playlist in
this way).
Cmd-D was also (and still is) a shortcut for going to the Desktop
folder in open and save dialogs. And for saving a bookmark in a web
browser… anybody know how that came to be?
My final qualm with the keyboard shortcuts lies in the one you have
chosen with which to invoke the Help item. Sun's excuse for not
allowing the question mark as a character for a keyboard shortcut is
that you would normally have to hold the Shift key in order to
access it. But having Cmd-/ is an unnatural substitute. It's better
to do away with any keyboard shortcut rather than coming up with
something clumsy like Cmd-Backslash — that's what I did in my app; I
left my Help system without a shortcut.
Do full-size Apple keyboards still have a Help key next to Home and
Page Up, where PC keyboards had Insert?
The final thing I should point out is that you may want to look into
the licence agreement dialogue which appears when the program is
launched. Rather than accepting or rejecting the agreement, I can
simply close the dialogue with its close box and use the program as
normal. Unfortunately, for reasons known only to Sun, you cannot
disable the Close control in a window, but there are ways around
this. IIRC, there is a property you can set which makes the Close
control inactive (though it won't appear greyed out), so clicking on
it will not cause the window to disappear.
I'd probably interpret closing the window as rejecting the agreement, so
setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );
and then in the windowClosing event handler act as though the reject
button had been clicked.
Phew! That was lengthy! I hope most of it was helpful/useful rather
than longwinded ;-)
I found it to be very thorough; hopefully the OP thinks so too. :-)
--
Jamison Hope
The PTR Group
www.theptrgroup.com
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/java-dev/email@hidden