Submitted On 05-OCT-1999
axlrosen
See also bugs 4256307, 4146858, and 4133908.
Submitted On 09-OCT-1999
jvella
This is a GREAT bug report as it has the kind of detail that a developer loves
to see
when working on fixing a bug (I should know, I'm a GUI developer myself).
I'd like to add that for JMenus the color used for the border outline differs
from
the native Windows menus. Swing uses white for the upper edge of the raised
bevel while Windows uses a shade of the menu color itself (you can see this
really
easily if setting the desktop color scheme to "Desert"). This
difference
would be less noticable if the border width if fixed(ie changes from 2 to 1).
Submitted On 12-JAN-2000
neil_toronto
Wow. Lots of stuff. I hope Sun gets all this stuff fixed - we're planning on
writing a completely Java application that ALSO has the Windows 2000 logo - and
we've found some problems related to this that would keep us from qualifying
(these are mostly accessibility issues): system scrollbar sizes aren't
regarded; internal windows don't use the caption size system setting; radio
buttons are cut in half in high-contrast mode (because of the shadows), menus
don't have outlines in high-contrast black mode, and disable items of any kind
disappear in high-constrast black.
Submitted On 20-JUN-2000
sgoldberg
Great bug report.I would like to add the following:
In the JFileChooser, Windows provides a Popup menu when you
right click over the center list of files. This is
conspicuously missing in JFileChooser.
The JFileChooser's center panel is supposed to be
multicolumn. It also needs to sort in a non case-sensitive
manner.
When dragging the Print Dialog over the other windows of an
application, they are not redrawn. I know why this is and
have a workaround. Email me if you want it!
I think one of the main problems is that Windows L&F keeps
changing and evolving. Microsoft is obviously doing it to
have an ever new and exciting L&F, but in the process they
are thorn to the Java Platform's efforts on pluggable L&F.
I am sure they are very happy about this!
Submitted On 21-JAN-2001
kuhse
See also: bugs 4199362 :( and 4302130.
Submitted On 01-FEB-2001
cforster
Pretty detailed bug report, esp. down to the pixel level.
Didn't notice much of this stuff until I read this bug
report:) Our users don't seem to notice/mind many of the
problems noted here, but most don't alter there desktop
themes...
One of the most noticable deviations is the lack of
*default* mouseover bevel bordering on JToolbar & JMenu.
Here's the quick fix for this (parts skimmed from forums):
JMenu (where MenuBar is your JMenu):
// Make menu items pop ala IE/Win98
Border raisedbevel = BorderFactory.createRaisedBevelBorder
();
for (int i=0; i < MenuBar.getMenuCount(); i++) {
final JMenu jb = MenuBar.getMenu(i);
jb.setBorder(raisedbevel);
jb.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
if (jb.isEnabled()) jb.setBorderPainted(true);
}
public void mouseExited(MouseEvent e) {
jb.setBorderPainted(false);
}
});
}
JToolbar (where ToolBar is your JToolBar):
for (int i=0; i < ToolBar.getComponentCount(); i++) {
Component c = ToolBar.getComponentAtIndex(i);
if (c instanceof JButton) {
final JButton jb = (JButton)c;
jb.setBorderPainted(false);
jb.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
if (jb.isEnabled()) jb.setBorderPainted
(true);
}
public void mouseExited(MouseEvent e) {
jb.setBorderPainted(false);
}
});
}
}
Good luck,
Chris
Submitted On 05-FEB-2001
doogie1036
Another Win32 feature missing from Swing's Windows L&F:
in a JFileChooser, the user can't type the first few letters
of a
file to scroll the list to that file/icon. (Users must
either drag
the scrollbar until they find it, or type the entire name in
the
entry field, neither of which works very well with many
files.)
Submitted On 12-FEB-2001
tkoerbs
This is not a bug, it is a feature.
You cannot have Windows look&feel if it is no native
Windows GUI. Even many VB applications show a "non-Windows"
look&feel.
You cannot get a Windows look&feel on windows and a Motif
look&feel on X with the same program. Since the native GUI
APIs differ this is impossible to achieve.
If I think on all the Windows common controls I can only
laugh about a Java program trying to behave like a Windows
program. Forget it - or you will end up with a GUI that
looks like Windows but drives the users crazy because of
all the details that don't behave like windows.
"Be as you are": If you use Java then use a Java look&feel.
Submitted On 15-FEB-2001
slocum@skypoint.com
It is trivially easy to check System.getProperty("os.name")
and set the LAF accordingly, so that an application can
look like Windows on Windows, Mac on Mac, and X on Unix.
*IF* we had a good set of standard LAF classes.
Submitted On 19-FEB-2001
macpeep
"It is trivially easy to check System.getProperty
("os.name")
and set the LAF accordingly"
No, it's actually even easier. Just call
getSystemLookAndFeelClassName() in javax.swing.UIManager
and it will tell you exactly what class to use to get the
system look and feel for whatever OS you're on. Pass that
as the parameter to setLookAndFeel(String className) in the
same class and you're set.
Submitted On 20-FEB-2001
chuanhaochiu
One recurring theme here is that things are taller than
what they are supposed to emulate. My guess is that the
tendency (to make things taller) came from the X
window/Motif world, where everything is twice as tall as
necessary, and you need a 21" monitor to get anything
done. Urgly and pathetic.
Submitted On 21-FEB-2001
bestsss
i am *somehow* not so positive to submitter. Complete W&F
OK. but till when. For example Window tooltip can be what u
want. this is a simple borderless control nothing more. In
Delphi it inherits CustomControl, so.
For me Windows L&F is ok.
Submitted On 22-FEB-2001
chuanhaochiu
One more thing, the vertical lines in a JTree do not align
with the little plus signs inside the small retangles used
to expand/collapse tree nodes. They are one pixel off to
the left.
Submitted On 22-FEB-2001
macpeep
I absolutely and totally agree with this bug and want it
fixed tho I'd put my VOTES on 4337823 (fillRect has severe
synchronization bug in Java 2) which is currently IMHO the
most accute Java VM bug. There are several small issues
like one-pixel margins or small collor differences that
stand out but and YES they should be fixed and YES they
matter a lot in making it really look and feel like Windows
but more importantly, I think, are the big things.. Things
like the file pickers which are absolute crap! They look
nothing like the real thing and they have severe alignment
and size bugs, wrong icons etc. etc. Also, when you click-
and-a-half on a name to rename a file, for instance, the
editor is totally different than in the real thing. Other
things that very clearly stand out are wrong default icons
in tree views, wrong colors on highlights (the current L&F
often uses a solid yellow outline) etc.. Some of these
could be very quickly fixed I think...
Submitted On 01-MAR-2001
MiguelM
See also bug 4357012. In the "Save As" dialog, clicking on a folder shouldn't replace the typed name with
the folder name, but it does.
Submitted On 05-MAR-2001
Markus Karg
I totally agree to that bug report. If Java wants to look
like Windows, it has to be 100% and not 99.9%. It's really
a problem to sell a software to Windows fanatics, if it is
not 100% like Windows. In addition, Swing is damned slow,
even in 1.3.1. So what I think is: Is there anyone that is
willing to use that Swing Windows PLAF, that is not running
Windows? I mean, I cannot think of Solaris users that like
to have an application running looking like Windows. So, if
I think over it, wouldn't it be better to change the
implementation of PLAF in a way that if Solaris is running
and a user wants to have Windows PLAF, the current
implementation is used, and if Windows IS running, the
native elements are used? I think this would be possible
and would help both problems, 100% correct LAF, and better
performance, too.
Submitted On 06-MAR-2001
mnd999
Why doesn't the Windows VM internaly call Windows APIs
(e.g. Microsoft CommonDialogs APIs) instead of trying to
emulate these calls. As I understand it, WIndowsLookAndFeel
is only implemented on Windows anyway, so why not make it
do some funny things internally and call the WIn32 API
where necessary.
I'm not suggesting Visual J++ here, but why re-implemnt a
file-selector excatly like one supplied with the operating
system? This would also side-step the problem of Microsoft
constantly changing the Windows look and feel.
Submitted On 07-MAR-2001
jimmy___z
Least work to be done is to remove a lot of the hardcoding
of font sizes and colors and add more options to the plaf.
At least resize the menus and allow choices of color for
the tick marks on a JSlider
Submitted On 22-MAR-2001
Jjesper
Perhaps the entire "emulate" idea is not so great.
I would like my FileChooser to BE a FileChooser, not be a
more or less complete replica of whatever OS was the target
when the java runtime shipped. If I install extensions to
my OS, I would like them to show up in all applications -
if Java doesn't not support the user's gadgets & extensions
(the mouse wheel springs to mind) the user is likely to
prefer non-java programs...
Submitted On 06-APR-2001
waclac
On windows, a text field has a popup menu with <UNDO, CUT, COPY, PASTE,
DELETE, SELECTALL> functions. This is not implemented by the JTextArea or JTextField
Submitted On 06-APR-2001
waclac
The windows MenuBar is implemented to perform like a horizontal FlowLayout.
When the window is resized below the width of the menubar, it wraps.
In addition, the system menu is in the navigation path when navigating through
the menubar via the arrow keys. This will probably be impossible to duplicate
unless JMenuBar goes back to native menubar instead of just painting one.
Also, is there any particular reason why UIManager can't listen to desktop LAF
changes so that when a user changes the desktop lookand feel, a java application
can choose to response dynamically to this rather than only at startup?
Submitted On 09-APR-2001
jc151017
It might be good to point out that TCL/TK and its
replication of actual windows look and feel is
extraordinarily precise. Scriptics has even made it a
point to call windows components (like FileChooser) when
necessary. TCL/TK offers an alternative to Java if you are
interested in a more windows-like GUI.
Submitted On 27-APR-2001
asquithea
I am absolutely delighted by these bug reports. I cannot stand using the Windows L&F in Windows 98 (I
use
Metal) because of these stupid differences which frankly just confuse me, and double the time it takes to
get anything done. If you open a file-chooser, you expect it to behave EXACTLY like a windows
filechooser.
Like so exactly you can't tell the difference. I can live with no icon support, but I really can't stand being
able to see hidden files by default all the time. I keep finding myself using the AWT to get what I want. I
know this wasn't the original plan for pluggable look and feel, but I think it would be much better if only
two
were provided for a given JVM: Metal (which works well for the most part), and the Native L&F. The Native
L&F should be implemented using Native calls where possible, (rather like the AWT) so that when you ask
for
a file open dialog box, you get the system's normal version etc.
May I add to the bug report that when you have a menu open, you should be able to close it by clicking
ANYWHERE in the window. This is a seriously annoying flaw.
Again, this is acceptable in Metal (beacuse it generally behaves in its own way), but NOT in the Windows
L&F.
Submitted On 02-MAY-2001
adnan_khan
JInternalFrame when maximized do not look like real Windows
apps. When maximized, the JInternalFrame's title should
merge with JFrame's title, etc.
Submitted On 10-MAY-2001
acedia
I agree with the comments by mnd999 above that we should
simply call native windows APIs for native windows. It would
probably save a lot of time and effort and eliminate a lot
of bugs, plus the applications built using the WinLAF will
PERFORM much better. Alternatively (but this won't save
development time and effort), provide an emulated
WinLAF and a native WinLAF. I know which one I'd use.
Submitted On 13-MAY-2001
azzolini
I think itīs not necessary to implement the windows look
and feel with the Win32 API. Why not to use the java AWT
instead?
Submitted On 16-MAY-2001
macpeep
Because the Java AWT *IS* native Win32. :) It's not at all
impossible to imitate the Windows Look and Feel - lots of
applications do that. For some reason the Java Windows L&F
imitation is just a little half assed.
Submitted On 29-MAY-2001
scaselli
in a jinternalframe between the top right icons to minimize
and maximize the window there isn't any space. instead the
icon to close the window is separated from the first two.
Submitted On 29-MAY-2001
scaselli
some bugs about jfilechooser lnf in jdk 1.4 beta.
1) the "files of type" jcomboxbox should have the arrow big
as the one in the scrollbars. i've verified that the
scrollbars resizes themselves according to user prefs. so
why comboboxes does not.
2) tooltips for the various buttons are missing
3) the big icons on the left: the documents dir of the user
should be called "my documents" and not "documents and
settings". and the icon should be similar to a folder, not
the same as "my computer"
4) in the native windows file chooser i can delete a file
pressing "delete" button
5) i click a filename to rename it, then i can type the name
i want: in this situation the icon should not be selected.
also, if the filename is long, i should see the start of the
filename and not the end.
6) the native windows file chooser has a "last folder
visited" icon near the up arrow (parent directory)
Submitted On 29-MAY-2001
scaselli
i can detach a jtoolbar from the window which contains it.
the native windows toolbars, when detached, have a border
(caption?) that is different from the one in normal windows.
its smaller, and has only the button to close it (the top
right x). it hasn't minimize/maximize icons.
instead swing uses the same caption for normal windows and
floating toolbars.
Submitted On 29-MAY-2001
scaselli
the dottet line in a button which has the focus is a little
different form the real windows one.
Submitted On 04-JUN-2001
opinali
The Win LAF in 1.4 is indeed much better. But of course,
Microsoft is going to release a new GUI with WinXP, and we
will be stuck with non-native look&feel again. Even on
Win2K there are some subtle details that Swing fails to
emulate perfectly, (e.g. the degrade effect in the title
bar is blocky in internal frames).
Maybe the new AWT Native Interface could allow you to use
native rendering for many components, so you are not forced
to a new massive update every time Windows changes? And
this is also true for the Motif UI, because not all Motifs
are identical...
Submitted On 04-JUN-2001
GarretWilson
The JDK 1.4 beta Windows L&F toolbar rollovers look nice,
but they don't work with JToggleButton -- the JToggleButton
doesn't display a toggled state, as does a non-rollover
toolbar.
Submitted On 11-JUN-2001
gbishop
I am glad Sun is fixing this in Swing. i prefer Sun to
make the various L&F's available on many plaftorms. AWT is
available (for now at least) if you really need to use the
native components for some reason, but I REALLY prefer
having it implemented in pure Java as far as possible in
Swing. I think that keeping up with the L&F as things
change is just part of the cost of doing business. I (and
may other it appears) would love to help out as new things
come up or as bugs are reported. Please continue to refine
the JFileChooser Dialog (rename and tooltips). Also,
please consider changing JOption Pane so the multiple
custom choice dialog uses buttons instead of a drop down
list. Also, if cancel is not available please get rid of
the X in the JOption Pane. Thanks, and hey Guys, really
good job fixing most of these things. Please keep up the
good work, it's appreciated. And Henrik, good bug report.
Submitted On 11-JUN-2001
Jjesper
I would like SUN to re-evalute the Java GUI strategy:
1) Create an AWT and Swing version of the same application
and test it on a focus group.
2) Concentrate on the GUI toolkit that the users prefer.
Submitted On 22-JUN-2001
macpeep
Jjesper: you don't get it. The reason Swing exists is that
AWT is the least common denominator and as such, not
enough. You can't create a tabbed pane, a table or a tree
with AWT because AWT only contains widgets that exist on
all platforms. This is the very reason why Swing was
created - to provide rich widgets on all platforms. In
order to get that, they had to be lightweight drawn by
Java, not native widgets. Swing is there to provide what
AWT can't provide. Swing builds on top of AWT - just check
the inheritance tree, event handlers etc. It's not a matter
of picking one over the other.
Submitted On 24-JUN-2001
hmulling
I'm running Window XP and I suspect it has a pluggable L&F
although it is not completely enabled. I feel that
Microsoft will bury you if you try match their L&F simply
because they have so much more money to spend and they
change their L&F frequently (With a plugable L&F they will
change it more frequently). I think there are smarter ways
to use Sun's limited resources than to ask it to match the
MS L&F. I think keeping up with the MS L&F could be a trap
to drain resource. An arms race that you will never win
against MS. I think the solution is to create a xml
interface between applications and GUIs (like xul only
better) that allows people who want the MS L&F to use the
MS client api that understands the same xml instructions. I
think a new kind of browser could be built that used xml
that could eventually replace the html browser. Maybe this
is the xform effort, I'm not sure. I think Sun should spend
more time creating a clean (ie xml based) layer between the
GUI and the rest of the application; the way an html
browser is separate from the html server. (I'm sorry to go
off topic. Please reply to me directly so as not to clutter
this discussion.)
Submitted On 24-JUN-2001
Jjesper
To macpeep:
Java clearly needs some GUI components that are not
implemented as native widgets on every OS. The tree
component is one example.
Conventional GUI design wisdom says that consistency is
very important: The question I am asking is whether it is
possible to create successful software with "lightweight"
non-standard or slighty off-standard GUI elements. Is it?
Submitted On 25-JUN-2001
derbyshire16
Fixing JFileChooser should be easy. JNI allows Java code to
call native code, which on Windows assumes the form of
DLLs. Guess what COMDLG32.DLL does?
Submitted On 13-JUL-2001
MiguelM
I second the comment by doogie1036. When I open a file dialog, I want to be able to type part of the name
and have it jump to the file icon, just like it does in Windows. This is a very powerful and convenient
feature, and I really miss it in a Java application. This behavior shows up in many Windows combo boxes,
selectable lists, and non-editable tables as well. Perhaps this should be a common property of those classes
that users can enable.
Submitted On 14-JUL-2001
mikequinlan
I got a message from jdc-webmaster@java.sun.com saying that
this bug had been closed, but when I look here it is still
shown as "In progress". It looks like all they did was
clear all the votes.
Submitted On 20-JUL-2001
stevenv
Nice to hear this is fixed. I haven't looked at the pre-
release yet, but if all is as asveritsed the we should b e
ok. Now the Swing team needs to start working on
supporting WindowsXP themes :) :)
Submitted On 17-DEC-2001
snebeling
Related bug: 4420843
Submitted On 24-JUN-2004
milerikic
JFailChooser focus is not painted when use the Windows Look and Fell in J2SKD1.4.02
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|