CHANGES SINCE THE PREVIOUS RELEASE
This file summarizes changes made since Swing 1.1. Documentation
improvements and look-and-feel cosmetic changes are not listed here.
For the latest, detailed information about Swing, be sure to check our
Web site, The Swing Connection:
http://java.sun.com/products/jfc/tsc/
This file has three sections:
- HTML Text in Buttons and Labels
- Known Problems
- Bug Fixes
===============================
HTML Text in Buttons and Labels
===============================
Although this release is largely a bug fix update, there is one new
feature: buttons, labels, and menu items can now contain HTML text. If
the text property of an AbstractButton subclass or a JLabel contains a
string that begins with "" the rest of the string be used to
create a lightweight HTML docuemnt and the text will be rendered by the
full Swing styled text engine. For example to create a JLabel that
displays multiple lines of text in different fonts and colors, one could
write:
String htmlText =
"A JLabel with various text styles
" +
"And a new line!";
JLabel myLabel = new JLabel(htmlText);
Look for more information about this feature in an upcoming "Swing
Connection" article, at http://java.sun.com/products/jfc/tsc/, and
in an upcoming update of The Java Tutorial, at
http://java.sun.com/docs/books/tutorial/uiswing/.
==============
Known Problems
==============
We're aware of two problems with this release. We don't believe
they'll affect developers, but they might affect some end users.
The first problem is that applets that download swing.jar can fail on
Netscape on Windows 95. The symptom of the problem is an inexplicable
"class not found" error. For example:
Applet exception: error: java.lang.NoClassDefFoundError: javax/swing/JApplet
Other platforms (such as Windows 98, other browsers, and appletviewer),
don't exhibit the problem.
The second problem is that medium-sized and larger Swing applications,
such as the SwingSet example, might perform poorly on Windows machines
with 32 MB of memory or less. The working set for a typical Swing
application increased a little in this release, which appears to have
caused the performance of some applications to now be dominated by
paging. We don't believe this will affect most Swing developers, as a
typical development machine has 64 MB or more of main memory.
=========
Bug Fixes
=========
Here's a list of the more than 200 bugs that were fixed for this
release. You can find more information about each bug by searching
for it on http://developer.java.sun.com/.
4170786 javax/accessibility/AccessibleResourceBundle not being built on
Solaris.
4171588 basic_ja.properties is now encoded in unicode.
4171983 JPasswordFields getPassword could return the wrong string.
4168561 Motif look and feel caret will now properly erase itself.
4163591 DefaultTreeCellRenderer's getDefaultXXXIcons where returning
the wrong thing.
4167396 Changing font of JTree will now force recalculating sizes.
4169679 DefaultTreeCellRenderer's paint didn't check for null color
(1.2 exception).
4172220 The JTree showing the Elements of the Document in Notepad/
Stylepad will now update when a new document is created, or
opened.
4172434 Client side maps now supported for images.
4174543 JTree no longer throws exception after being serialized.
Also implemented StyleSheet.getDeclaration, which previously
had no implementation.
4174954 JComponent will now revalidate when setVisible is invoked
with a different value. Also: Fixed bug in rectangleIsObscured
that could result in wrong value being returned. The result of
which could cause a previous version of the offscreen image to
show through.
4177411 JViewport was causing visual garbage with nested scrollpanes.
4177725, 4177715
JTree was using wrong property name when firing property change
events for setModel and setInvokesStopCellEditing.
4149666 DefaultEditorKit.read will now map \r to \n. This is needed for
Macs which represent end of line as \r.
4168298 Lists were not using the type attribute correctly, which
resulted in not drawing correct type.
4170605 An extra bullet for lists was displayed if a comment was
embedded in a list. Also: Improved CSS support. Fixed problem
that was causing make to fail on windows for swing-1.1 Added
support for style and link tags. Added support for writing out
map/area tags. Improved CSS support to be closer to the spec.
Moved conversion logic that was in StyleSheet to CSS. Fixed
bug where font size, when specified with font tag was wrong.
Implemented StyleSheet.MuxingAttributeNames.getAttributeNames.
Changed writing out of CSS style to include type=text/css.
Fixed bug where getAttributeSet when invoked on LabelFragment
could return wrong AttributeSet. Fixed bug that was causing
input attributes to contain the wrong value under certain
conditions. Fixed bug where MUNGE_FILES were not being
compiled under windows. Fixed bug that was causing deadlock.
Fixed bug that was causing exception when inserting HTML via
the InsertHTMLTextAction class at offset of 0.
4161044 Unable to see flashing caret in JTextField with windows
LAF. Highlight will not highlight where caret will be drawn if
selection is not empty.
4161030 JTextField, for windows, will only select all of its text when
gaining focus if that last time it lost focus
was not temporary. Previously it would always select all the
text when gaining focus.
4165339 JPasswordField.modelToView now considers horizontal alignment
so that selection functions correctly for centered or right
aligned password fields.
4158291 Text would scroll to wrong places in JTextField when deleting
and text did not completely fit in bounds.
4128483 Input attributes would not correctly update if document changed.
4180658 JViewport will now validate its component (acutally the parent
validateRoot) if scrollRectToVisible is invoked and the
viewport's view is not currently valid. Fixed bug that could
result in ElementSpec having wrong Direction when inserting
HTML into an existing document. Added HTML action for
inserting HR. Fixes bug in
VariableHeightLayoutCache.getVisibleChildCount that would
result in wrong value being returned.
4100143 There are no longer empty image directories for the swing
demos under windows.
4150996 Demos have the same directory structure (and the same files)
under windows and solaris now.
4185513 src.zip, for 1.1 builds, no longer has preprocessor
statements in it.
4185513 When StyledEditorKit is updating the input attributes it will
only get a character Element once (previously it might have
done it twice). Also: Fixed bug that was causing style
attributes to not work when using the style attribute on a
character level HTML tag. Changed major portions of HTMLWriter
to produce better HTML. Removed unused variable in method in
StyleSheet. Changed DefaultEditorKit to only update end of
line property if document was empty.
4154267 LabeView will paint background if background attribute is
defined. Also: Fixed bug in JTree that was causing editing to
stop when any property changed on the tree. Added support for
determining what end of line string is in HTML documents.
Added methods (package private) to HTMLDocument for inserting
arbirtary HTML. Fixed bug that could cause selection listeners
added to JTree to not be notified. Added
EmptyAttributeSet.equals, and tweaked SimpleAttributeSet.equals
to notice if asking equals(this).
4188924 NullPointerException when editing tree.
Also: Fixed bug where styles would not be output if document
did not contain head tag. Fixed bug where removeStyle was not
properly cleaning up styles that may have been in Style. Also
fixed bug that was causing imported/linked styles to be written
out with document. Tweaked javadoc in DefaultTreeCellRenderer.
Added support for specifying that JDialog/JInternalFrame/JFrame
should cause a System.exit when closed. The define for this (in
WindowConstants) is currently commented out, but can be used by
specifying the integer value directly. Also fixed bug that
could cause close operation specified in internal frame to have
no effect.
4188955 When typing text into a JTextArea that caused a newline to
be created due to wrapping, the JTextArea would not properly
repaint itself.
4186163 Unserializing a StyleContext could throw a NPE. Updated
javadoc in TreeSelectionModel/DefaultTreeSelectionModel to
reflect expected behavior.
4165393 Regarding incorrect ACTIVE state.
4170868 On-the-spot pre-editing causes exception in HTML document.
4170871 The position of the candidate list window is wrong. Change to
merge character attributes in the Styled document (HTMLDocument
and DefaultStyledDocument) with composed text element for more
wysiwyg on-the-spot editing.
4166242 HTML updates should update bidi structure.
4164887 JDK1.2FCS-E: HTMLDocument api doc was not created properly.
4172050 In solaris, highlight string make caret invisible in JTextComponent.
4170915 PlainDocument should use superclasses createLeafElement method
instead of calling new directly so subclasses can change
Element type. Some work toward 4171509, HTMLEditorKit support
of conversion of StyleConstants attributes to/from CSS
attributes.
4174856 Custom caret is not redrawn in JTextPane. This actually is part
of finishing 4172050. Fix regression in html support that
resulted in null pointer exceptions being thrown. Fixed a
problem in the html package that caused the following exception
whenever a paragraph with nothing but a newline was
encountered. javax.swing.text.StateInvariantError: infinite
loop in formatting The above exception is generated when a
paragraph is asked to format to a zero or negative size (which
can never be satisfied). The html package was erroneously
causing such a situation. The fix does not fix the problem
reported by QA on the Netscape browser, which also produces
this message. That problem is still being investigated.
4168158 Constructor GapContent(int i) throws NPE when i = 1.
4174891 JEditorPane ignores new lines in
tag.
4166962 JEditorPane can't display non-Latin1 character in region
Substantial progress toward 4171509 (HTMLEditorKit should
support StyleConstants). This is now handled properly in the
in-memory model, however more work is yet required to make file
I/O also cause attributes that have a StyleConstants mapping to
be stored in the model as CSS attributes or saved as html
tag/attribute or html style attribute. The fix for 4171509
involved a fair amount of work, and therefore likely has some
bugs associated with it that can be filed seperately. I
included a hacked version to Stylepad in the evaluation which
uses the html support to provide the stylepad functionality,
and uses html as the I/O format. It functions as a very simple
html editor. Added suggested change from swing-feedback to
DefaultCaret to not blink while users are actively changing the
text.
4176571 WordApplet in Netscape on Windows NT throws
javax.swing.text.StateInvariantError.
4158124 Should JTextComponent.copy use getToolkit (vs.
Toolkit.getDefaultToolkit())?
4170050 Unintentional memory retention in CompositeView.
4156303 CompositeView.loadChildren doesn't remove old child views.
4165774 com.sun.java.swing.text.html.HTML.Attribute.allAttributes[]
does not contain FACE.
4136083 HTMLWriter fails to write out alignment.
4178097 JTextPane throws IllegalArgumentException when PgUp.
4148697 Empty JTextArea - IllegalArgumentException thrown - releasing
'page down' key.
4168917 Background color in HTML body does not fill page in small pages.
4147392 JEditorPane.setHighlighter(null) throws nullPointerException.
4131271 DefaultEditorKit.BeginLineAction/EndLineAction should set
MagicCaretPosition.
4131267 DefaultEditorKit needs a "selection-off" capability (for the
ESCAPE key).
4138304 JTextField dosen't update focus border at Motif L&F. Updated
the javadoc for some views, and started making the DocumentEvent
forwarding updating of the view hierarchy easier for composite
view implementations. Fixed BasicTextAreaUI so that it looks
for the correct property names (the wrap-related names were
changed).
4181804 DefaultCaret.equals() not implemented.
4180803 HTML viewer: and tags don't display Courier.
4179239 JEditorPane uses wrong editor kit for default.
4175754 Untidy syntax in BoxLayout.java.
4123386 swing.text.ComponentView.modelToView(int, Shape) doesn't throw
BadLocationExcept.
4155127 setFont() has no visual effect on JTextField; repaint() has to
be invoked.
4164239 BoxLayout sizes Components wrong if minimumSize is larger than
preferredSize.
4166782 Swing1.1 PERF: BasicTextUI erases background twice.
4176211 Undo/redo for the input method composed text is incorrect in
JTextComponent.
4108577 Disabled text fields allow selection.
4134280 No specification of document notification protocol.
4171509 HTMLEditorKit should support StyleConstants. This is a fixup
to the previous fix. It turns out that newly constructed
elements were using a copy of the AttributeSet they were given
rather than creating a set from the associated AttributeContext
like they were supposed to. This meant the converting sets
provided by the html StyleSheet weren't being installed into
the html elements. It also means that attribute compression
that was supposed to be taking place wasn't!!!
4178193 Baseline is different between composed text and backing store
in LabelView. Also: Fixed HTML paragraph to render the css box
attributes. The insets were considering these attributes, but
they weren't being rendered. Fixed spurious
NullPointerExceptions being generated by BoxView after the
DocumentEvent handling rewrite. Some fixes to HTML table
editing. It now works (but doesn't necessarily repaint
properly) unless the table has multi-row or multi-column cells,
or a caption. More work is needed on this. Fixed minor
javadoc error in Document.
4173018 replaceSelection fails if JTextField is not editable.
4183255 Calling setText on styled text components swaps out the
document model. This was easy to fix by simply leaving the old
model and calling remove() for the entire model. However,
doing this exposed a bug in the model that left it corrupted if
the entire content was removed. Fixing that meant fixing
ElementBuffer.create() to do a better job.
4181934 AccessControlException generated in ImageView within browsers
Hardcoded refresh rate values that were trying to be fetched by
calling System.getProperty(). Fixed calculation of source URL
for the image. It should have been using the getBase() method
on the associated document for it's calculation of the source
URL.
4173008 Fail to serialize JTextField with highlighted text.
Also: Added support for displaying html in the ComponentUI
implementations. This is currently package private to the
basic package so that it adds no new api. It is enabled by
setting the text of the component to a string that starts with
. Initially, only BasicLabelUI and BasicButtonUI have
been converted to use it. We now have multi-line styled labels
(There must be an RFE laying around that can now be closed :-)
You can add HMTL strings to JLabel and JButton and interesting
things will happen. Fixed up BasicHTML support to load the
EditorKit implementation when first accessed, and changed to
not effect default StyleSheet Fixed View.preferenceChanged to
use the proper child View in the default implementation. This
is needed by the asynchronous layout view currently in
experimental status. Performance results are quite promising.
Layout for large views is computed incrementally and
asynchronously (able to adapt to size changes before the job is
done, etc). Substantially improved the View javadoc
specification. Changed BoxView to not throw away layout
information when the number of children changes. This makes it
possible to repaint while changing the view structure to
reflect a changed model. BoxView still needs more work to
actually guarantee it repaints everything needed.
Substantially reduced the number of Rectangles created when
computing child view allocations. CompositeView now holds a
rectangle it reuses when communicating with a child view.
CompositeView also avoids calling Shape.getBounds() (which
allocates a new Rectangle) if the Shape can be narrowed to a
Rectangle to extract it's bounds. Fixed concurrency holes that
appeared in BasicTextUI apparently with the addition of the
i18n position bias. Improved the javadoc to reduce the chance
of this happening again, and to warn developers that use the
getRootView method that they must arrange for their own
concurrency protection.
4191780 Programmatic selection in JTextPane causes NPE in
BoxView.childAllocation().
4193508 javax.swing.text.CompositeView not threadsafe.
4166778 Typo in inner class JEditorPaneAccesssibleHypertextSupport.
4172586 AccessibleJTableHeader.getAccessibleStateSet works.
4172235 Basic class depends on Windows class.
4172751 IntrospectionException trying to load swingall.jar.
4161565 Maximized Internal Frames don't resize.
4176733 REGRESSION: JDesktopPane setVisible/setSize need before adding
JInternalFrame.
4177469 JPopupMenu wrong bound property fix.
4115273 Double click close to check isClosable() on internalFrame.
4228140 Minimize menu to work when isMaximizable isn't checked.
4165234 Serialization error: made desktopManager transient.
4172083 Need to disable rootpane check for JInternalFrame in
EnableSerializationFocusListener.
4118140, 4115273
Minimize on control menu not working. Double click closes a
nonclosable motif internal frame. Fix for CloseAction NPE when
there are no JInternal. JFrame doesn't check for null
desktopPane.
4172083 Need to disable rootpane check in EnableSerializationFocus for
JInternalFrame's JDesktopPane.
4165234 Made desktopManager transient.
4127970 JPopupMenu.setDefaultLightWeightPopupEnabled(false) doesn't work.
4160735 AncestorNotifier.propertyChange() throws NullPointerException.
4167902 AbstractAction.putValue(...) implementation is incorrect.
4169490 JMenu's method remove(JMenuItem mi) throws NPE.
4171254 JMenu.setEnabled doesn't work.
4168483 Medium weight menu popup problem (workaround).
4146684 Closing a window by a lightweight menu causes error.
4113572 Mixed components in JToolBar don't align well.
4176981 Menus are too wide.
4177696 setSelectionModel() of JMenuBar: Property change listener
doesn't get notified.
4177688 setMargin() of JMenuBar: Property change listener doesn't get
notified.
4177452 setAccelerator doesn't fire property change event.
4177424 Exception in JMenu.setModel.
4174983 JMenu doesn't show Icon on inserting subclass of AbstractAction
(last time...).
4089005 Swing add/remove Listeners do not accept null.
4110669 Named property changes don't work with JComponents. Fix to
comment.
4178391 NPE in RemoveAction. KeyEvent.VK_KP_* -> SwingUtilities.VK_KP_*
4169490 JMenu's method remove(JMenuItem mi) throws NPE.
Fixes to listener registry for Action GC.
4183227 PERFORMANCE: AbstractActions.
4183360 PERFORMANCE: JMenuBar creates too many Component[] objects.
4186484 ClassCastException in AbstractAction.
4186500 Localize VK_KP knowledge to KeyStroke.
4179541 JMenu installs its UIs twice!
4186626 JCheckBoxMenuItem installs its UI twice.
4186627 JRadioButtonMenuItem installs its UI twice.
4146598 JMenu delay property misleading.
4186925 Make AbstractAction.ArrayTable serializable.
4186809 borderPainted of JMenuBar is incorrectly marked as bound.
4187573 NPE in BasicDesktopPaneUI.
4189288 JInternalFrame Title panes turn black.
4190357 Popup sub-menus aren't dismissed.
4190759 Disappearing Actions syndrome.
4188027 Regression: Swing MenuDragMouseEvents aren't working in 1.1.7
and 1.2 RC1.
4126109 Setting defaultButton to null causes NPE.
4158813 Workaround for AWT#4135218 ("..." in OptionPane).
4171856 setDefaultButton() broken under JDialog.
4178562 incorrectly activates button with focus.
4135809 setBorder doesn't work on ScrollPane's containing JTables.
4153446 JDialog.setLocationRelativeTo sometimes fails after setLocation
call.
4166149 JTabbedPane preferredSize incorrect with multiple tab runs.
4164301 JFrame with JXXX member cannot be deserialized.
4164084 Default button doesn't activate if combobox has focus.
4182204 TitleBorder.getBorderInsets(Component,Insets) broken if
border not instanceof AbstractBorder.
4169763 Fixed recursion in JFileChooser.
4181146 setCurrentDirectory not entered in ComboBox if root but
not in FileSystemView.getRoots().
4158821 ToolBars create unnecessary frames.
4166167 Floating JToolbar can be maximized.
4177032 Inconsistent bound property name, borderPainted.
4177320 Placement of JComboBox in JToolBar. Added defaults for
setAlignmentX and setAlignmentY to JComboBox. Also cleaned up
constructors in JComboBox.
4166246 Metal Button size in JToolBar was not restored after switch
back from Windows l&f. This turned out to be 2 bugs in 1:
MetalToolBarUI ignoring the insets on the button borders, and
ButtonUI setting the border on the buttons after the toolbar
sets them during a L&F switch (which caused additional problems
with rollover borders and L&F switching).
4183337 WindowsLookAndFeel painting of JSeparator edges is not correct.
Fixed painting for Windows and Motif separators and popup menu
separators. Also fixed bug where Windows and Motif separators
were not using background and foreground colors correctly.
4179006 DefaultListModel description references JListDataModel.
Fixed a javadoc typo.
4179162 Bound property, value on JScrollBar doesn't notify its property
listener.
4179141 Bound property, maximumSize[sic] on JScrollBar doesn't notify
its property listener. The maximum and value JScrollBar
properties were incorrectly marked as bound in their
@beaninfo.
4178533 JScrollPane SCROLLBAR_ALWAYS options do not work.
4178544 JScrollPane SCROLLBAR_NEVER options do not work correctly.
The fix installed some time ago to enable SCROLLBAR_AS_NEEDED
to do the right thing if Scrollable.getScrollableTracksViewportWidth()
and/or Scrollable.getScrollableTracksViewportWidth() was true
broke these simple cases.
4181977 DefaultBoundedRangeModel(..) constructor doesn't throw
IllegalArgumentException.
4183413 JComponent.setForeground,setBackground repaint needlessly.
Removed some dead clipping code from JViewport.setViewPosition().
The original code did force view positions to always be > 0 in
x,y which clearly wasn't all the code was intended to do (the
rest was dead). This wasn't ever a documented feature of
JViewport and JScrollPane and the scrollbars enforce
constraints like this properly when it matters. Fixed a JList
class javadoc error - the cell renderer example was
incomplete. Fixed JComponent.setForeground() typo and adjusted
the logic to account for another corner case.
4127960 AbstractListModel.fireContentsChanged ignores source arg.
4128942 Setting JList model to null causes JVM to hang. Throw an
IllegalArgumentException in this case. The setSelectionModel()
method already does this.
4097718 DefaultBoundedRangeModel.setRangeProperties(...) works
incorrectly. Use longs in one place to avoid overflow problems.
4179719 JSplitPane component may not show if its minimum size is 0.
4182564 Mouse clicks on the non-continuous JSplitPane divider make it
move.
4174850 ProgressMonitorInputStream error.
4132946 OK button on ProgressMonitor progress dialog.
4160137 Timer.setInitialDelay does not reset the timer.
4163364 JSplitPane does not check if components visible when
determining min/max location.
4184808 JSplitPane.setOrientation() needs beaninfo.
4177030, 4177026, 4177022, 4177283, 4179213, 4179185, 4179199,
4179180, 4179184, 4179197, 4179219
Fixes for unfired or misnamed bound PropertyChanged events.
4177884 Fixed PropertyChanged event firing.
4181204 Return number of errors on exit.
4157427 SwingUtilities.computeIntersection fixed to handle case where
rectangles don't intersect.
4157446 Modified isEventDispatchThread to use EventQueue.isDispatchThread
with 1.2 AWT.
4181976 Added logging and flash support to drawImage methods where it
wasn't implemented.
4168619 Fixed memory leak which prevented JComponents from being GC'd.
4182587 Removed redundant INTERNAL_FRAME_CLOSING event posting from
JInternalFrame.dispose().
4180820 Fixed SwingGraphics.setXORMode so it no longer scrambles
graphics translation values. Cleaned up SwingGraphics so its
naming follows JLS recommendations (no API change).
4148450 Overrode Container.findComponentAt in JRootPane so it ignores
glassPanes when searching. Previously an enabled glassPane
would cause any drag&drop processing to ignore child components
beneath the glass pane. Drag&drop fix is 1.2-specific.
4184807 Modified variable initialization so loading RepaintManager
doesn't cause java.awt.Toolkit to be initialized (needed for
automated testing).
4185824 Cleaned up uninstallUI so everything it installs is removed.
4184807 Used Class.getProtectionDomain as the 1.2 API test method,
instead of a Toolkit API to avoid loading the Toolkit
unnecessarily.
4187686 Eliminated synchronizing on class objects in favor of a per-
class private static Object. This is necessary because 1.1.X
has a "will not fix" bug where class object locking can
conflict with the classloader's locking, causing occasional
deadlocks. The 30 places we either synchronized using a class
object or entered a synchronized static method (which does the
same thing) were caught by Metamata Audit. APIChangesTest and
supporting files, pulled over from the JCK. This allows us to
verify we don't have any unknown API changes during our build.
4187686 Removed synchronized attribute from characterSets accessor
methods, both because 1.1.X VMs have problems with deadlocking
when class objects are synchronized, and because Hashtable is
already threadsafe.
4191140 Sped up listener notification a bit by caching loop test.
4188850 Fixed case where java.security.manager is defined when running
1.2, which caused a SecurityException accessing the EventQueue.
4189352 Set child's font and foreground color before calling its paint
method.
4193032 Sped up UIManager.getLAFState by caching the LAFState of the
current thread (most accesses are via either main in the
beginning or the EventDispatchThread after the main frame
shows). This was suggested by an IBM engineer -- it doesn't
speed up SwingMarks much because that test doesn't create that
many different JComponents, but apps like SwingSet will see a
bigger improvement.
4129394 JTable doesn't repaint correctly when removing rows from data model.
4127939 JTable.tableRowsDeleted() is incorrect. (Make sure that lines
are clipped correctly in the edge cases.)
4128135 Deleting last row doesn't change selection.
4128385 JTable: getselectedRow() and getSelectedColumn().
4181151 JTable: JTable:selectRow call clearSelection(); getSelectedRow
still returns index. Also fixed some javadoc in TableColumn
explaining the effect of having a null editor. Also fixed
javadoc in ListSelectionModel explaining that
removeselectionInterval also causes changes to
anchorSelectionIndex.
4106574 Proper keyboad naviagtion must be verified on Jtable for Windows L&F.
Nearly all commands are now supported. (This is an extra 17 bindings).
4185144 Win L&F uses wrong ResourceBundle.
4179116 getSystemLookAndFeel doesn't work on Mac.
4178458 Javax_swing classes do not respond to both sets of arrow keys.
Adds bindings for numeric keypad arrow keys, fixing this bug
and probably others.
4189562 All L&Fs are allowed to have an initialize() and uninitialize()
method. initialize() should get called before anything else
happens when a L&F is being instantiated. uninitialize()
should get called called as the last operation when a L&F is
being unloaded. Auxiliary L&Fs now have these two methods
called at the appropriate times.
4135833 Popup height wrong if first item is null or empty string.
4139900 Empty combo boxes have incorrect size.
4157329 Editable combo box not informed of font change.
4166593 Combo boxes don't fire action events properly.
4167394 Font size changes don't update combo boxes.
4167850 The RemoveAllItems() bug.
4171464 ComboBox shouldn't be throwing InternalErrors.
4171819 Windows combo boxes don't have the right border.
4174876 Tool tips don't work with combo boxes.
4180054 DefaultComboBoxModel fires too many contentsChanged events.
4201917 Shift-click in table with no selection causes exception.
4170418 Single click does not work in check boxes (Boolean table
columns) in JTable.
4144067 JTable handling of phantom mouse events faulty when dialogs
present.
4115930 JCheckBox in JTable: checkbox doesn't alaways respond to the
first mouse click.
4202966 Wrong coordinates in events retargetted to subcomponents of
JInternalFrame.
4202954 Deals with ArrowButton's response to mouse button events
that are not generated by the left mouse button.
4174867 JEditorPane ignores pixel value of width attribute in
tag. The pixel specification is now handled (tranlated to
css). The percentage values are still ignored, but that is a
separate bugid.
4181842 HTML viewer: width attribute not supported in tag.
Actually the css width and height were being ignored for all
block level elements. It is now used to adjust the views
requirements if specified. Fixed ImageView to not assume it is
being hosted by a JTextComponent so that it works properly in
JLabel and JButton.
4139102 Timer will not barf on a null ActionListener in the constuctor now.
4140983 Metal split pane divider was not completely redrawing its background.
4165874 JSplitPane will now work if a MouseListener has been added to
the divider.
4197328 JSplitPane would throw exception on serializing in 1.2.
4194021 Serializing JSplitPane could cause NPE to be thrown.
4139349 Clarified documentation for HTMLEditor.read() and fixed
implementation to insert new HTML into body (as one
would expect).
4199472 There is now a way to specify the root node has changed (there
was previously no way to do this) with TreeModelListener.
4203287 BasicTreeUI was not removing a listener it installed in
uninstallUI.
4199523 It was possible for FixedHeightLayoutCache to throw an NPE when
collapsing a node and the selection model was null.
4202896, 4202899
VariableHeightLayoutCache had some rather lame try/catch blocks
in it. Workaround for bug 4155532, BasicSplitPaneUI now
validates immediately after a resize.
4184412 HTML TableView doesn't support editing. The table view has
been fixed to support editing when it contains cells that span
multiple rows and/or columns. Because it now supports editing,
the reader has also been updated to broadcast partial table
results so that display can be asynchronous. To enable usage
of views that layout asynchronously (such as the upcoming
AsyncBoxView example) the restriction of using a special view
for table cells has been removed. There is also better support
for child views that are not table rows (such as captions,
column groups, etc). Also: Substantial improvements to the
handling of HTML tables. HTML tables now load asynchronously,
although it requires a custom EditorKit implementation that
extends HTMLEditorKit.
4170603 JEditorPane displays table elements with "rowspan"
incorrectly. The table now uses bit fields to mark areas
occupied by multi-column, multi-row, and erroneous table
cells. The ProxyCell is no longer used. This gives better
control over marking the table cell overflow into other grid
points of the table.
4174849 JEditorPane ignores caption HTML tag while document model has
correct element. There is better support for child views that
are not table rows (such as captions, column groups, etc).
Captions are displayed using ParagraphView.
4174873 JEditorPane ignores CELLPADDING attribute in tag. The
HTML CELLPADDING attribute is now converted to the CSS padding
attributes on TD and TH element views.
4202664 Complex HTML pages with nested tables layout too wide.
Distribution of space for multi-column and multi-row cells has
been substantially improved. There was also an error in the
old calculations.
4179938 PERFORMANCE: JDesktopPane's "outline" drag mode doesn't include
resizing.
4187974 PERFORMANCE: Fly-weight UI classes talk to defaults table too
often.
4188895 JTableHeader font not correctly set.
4197752 Bulletproof references to popupMenu.
4200837 The fake end element in an HTMLDocument is now of the right
structure.
4200839 Inserting pre, in certain cases, was creating an unnecessary
newline.
4200841 Selection wasn't adjusting correctly when using html insert
actions.
4200843 ListView/TableView/BlockView weren't obtaining its for a change
event.
4200845 Actions to style text provided by StyledEditorKit could change
too many attributes.
4200846 Inserting a new structure (using ElementBuffer) at offset 0
could cause some elements of length 0 to remain after removal.
4200847 Under certain circumstances JTree would ask the renderer for
the size of a node that was being removed during the remove
notification.
4191601 Overrode Container.remove() to pass the remove invocation on to
the content pane. This avoids a common cause of object leakage
in client apps.
4197719 Avoid NPE caused by AWT bug.
4195235 javax.swing.text.ComponentView not thread-safe. The methods
getMinimumSize(), getPreferredSize(), getMaximumSize(),
getAlignmentX(), getAlignmentY() access the component tree lock
and are therefore deadlock opportunities. These values are now
cached by the wrapping component that detects invalidation.
4195232 javax.swing.text.html.ImageView not thread-safe.
4169406 HTMLEditorKit.write would not honor offsets passed in when
writing text.
4189236 DefaultCaret would cause NullPointException after serialization.
4190537 Disabled trees would not show the expand/collapse icons.
4191142 Paint could throw NullPointException as getClipBounds returns
null under certain circumstances in 1.2. Fixes bug where
expand controls in tree would be painted for root, or roots
children even if not explicitly set to. Fixed bug where length
of DocumentEvent for style changes on paragraph was wrong.
Fixed bug where insertint into DefaultStyledDocument would
create unnecessary Elements under certain conditions.
Inserting into DefaultStyledDocument will know allow inserted
text to join with fake end Element. Fixed bug that was causing
bias, in DefaultCaret, to be set incorrectly when deleting
text. Removed a couple of unused variables in methods in
DefaultCaret. Fixed bug that could cause NullPointerException
to be thrown if TabStop.equals(null) was invoked.
|