diff options
Diffstat (limited to 'src/share/classes/javax')
19 files changed, 110 insertions, 164 deletions
diff --git a/src/share/classes/javax/naming/event/EventDirContext.java b/src/share/classes/javax/naming/event/EventDirContext.java index 1cfec51d6..1e555e6dd 100644 --- a/src/share/classes/javax/naming/event/EventDirContext.java +++ b/src/share/classes/javax/naming/event/EventDirContext.java @@ -34,7 +34,7 @@ import javax.naming.directory.SearchControls; * of events fired when objects named in a directory context changes. *<p> * The methods in this interface support identification of objects by - * <A HREF="ftp://ftp.isi.edu/in-notes/rfc2254.txt">RFC 2254</a> + * <A HREF="http://www.ietf.org/rfc/rfc2254.txt">RFC 2254</a> * search filters. * *<P>Using the search filter, it is possible to register interest in objects diff --git a/src/share/classes/javax/naming/ldap/Control.java b/src/share/classes/javax/naming/ldap/Control.java index e9b102aa3..b208ab00d 100644 --- a/src/share/classes/javax/naming/ldap/Control.java +++ b/src/share/classes/javax/naming/ldap/Control.java @@ -27,7 +27,7 @@ package javax.naming.ldap; /** * This interface represents an LDAPv3 control as defined in - * <A HREF="ftp://ftp.isi.edu/in-notes/rfc2251.txt">RFC 2251</A>. + * <A HREF="http://www.ietf.org/rfc/rfc2251.txt">RFC 2251</A>. *<p> * The LDAPv3 protocol uses controls to send and receive additional data * to affect the behavior of predefined operations. diff --git a/src/share/classes/javax/naming/ldap/ControlFactory.java b/src/share/classes/javax/naming/ldap/ControlFactory.java index c327d24d0..e8ec6a276 100644 --- a/src/share/classes/javax/naming/ldap/ControlFactory.java +++ b/src/share/classes/javax/naming/ldap/ControlFactory.java @@ -37,7 +37,7 @@ import com.sun.naming.internal.ResourceManager; /** * This abstract class represents a factory for creating LDAPv3 controls. * LDAPv3 controls are defined in - * <A HREF="ftp://ftp.isi.edu/in-notes/rfc2251.txt">RFC 2251</A>. + * <A HREF="http://www.ietf.org/rfc/rfc2251.txt">RFC 2251</A>. *<p> * When a service provider receives a response control, it uses control * factories to return the specific/appropriate control class implementation. diff --git a/src/share/classes/javax/naming/ldap/ExtendedRequest.java b/src/share/classes/javax/naming/ldap/ExtendedRequest.java index f18b10899..130205323 100644 --- a/src/share/classes/javax/naming/ldap/ExtendedRequest.java +++ b/src/share/classes/javax/naming/ldap/ExtendedRequest.java @@ -29,7 +29,7 @@ import javax.naming.NamingException; /** * This interface represents an LDAPv3 extended operation request as defined in - * <A HREF="ftp://ftp.isi.edu/in-notes/rfc2251.txt">RFC 2251</A>. + * <A HREF="http://www.ietf.org/rfc/rfc2251.txt">RFC 2251</A>. * <pre> * ExtendedRequest ::= [APPLICATION 23] SEQUENCE { * requestName [0] LDAPOID, diff --git a/src/share/classes/javax/naming/ldap/ExtendedResponse.java b/src/share/classes/javax/naming/ldap/ExtendedResponse.java index c517e953d..407fd927c 100644 --- a/src/share/classes/javax/naming/ldap/ExtendedResponse.java +++ b/src/share/classes/javax/naming/ldap/ExtendedResponse.java @@ -27,7 +27,7 @@ package javax.naming.ldap; /** * This interface represents an LDAP extended operation response as defined in - * <A HREF="ftp://ftp.isi.edu/in-notes/rfc2251.txt">RFC 2251</A>. + * <A HREF="http://www.ietf.org/rfc/rfc2251.txt">RFC 2251</A>. * <pre> * ExtendedResponse ::= [APPLICATION 24] SEQUENCE { * COMPONENTS OF LDAPResult, diff --git a/src/share/classes/javax/naming/ldap/UnsolicitedNotification.java b/src/share/classes/javax/naming/ldap/UnsolicitedNotification.java index b6defc9f2..e06834411 100644 --- a/src/share/classes/javax/naming/ldap/UnsolicitedNotification.java +++ b/src/share/classes/javax/naming/ldap/UnsolicitedNotification.java @@ -29,7 +29,7 @@ import javax.naming.NamingException; /** * This interface represents an unsolicited notification as defined in - * <A HREF="ftp://ftp.isi.edu/in-notes/rfc2251.txt">RFC 2251</A>. + * <A HREF="http://www.ietf.org/rfc/rfc2251.txt">RFC 2251</A>. * An unsolicited notification is sent by the LDAP server to the LDAP * client without any provocation from the client. * Its format is that of an extended response (<tt>ExtendedResponse</tt>). diff --git a/src/share/classes/javax/naming/ldap/UnsolicitedNotificationListener.java b/src/share/classes/javax/naming/ldap/UnsolicitedNotificationListener.java index d2c900cbc..8ffdd4a0f 100644 --- a/src/share/classes/javax/naming/ldap/UnsolicitedNotificationListener.java +++ b/src/share/classes/javax/naming/ldap/UnsolicitedNotificationListener.java @@ -30,7 +30,7 @@ import javax.naming.event.NamingListener; /** * This interface is for handling <tt>UnsolicitedNotificationEvent</tt>. * "Unsolicited notification" is defined in - * <A HREF="ftp://ftp.isi.edu/in-notes/rfc2251.txt">RFC 2251</A>. + * <A HREF="http://www.ietf.org/rfc/rfc2251.txt">RFC 2251</A>. * It allows the server to send unsolicited notifications to the client. * A <tt>UnsolicitedNotificationListener</tt> must: *<ol> diff --git a/src/share/classes/javax/print/DocFlavor.java b/src/share/classes/javax/print/DocFlavor.java index e4c24f1ab..b835efec7 100644 --- a/src/share/classes/javax/print/DocFlavor.java +++ b/src/share/classes/javax/print/DocFlavor.java @@ -83,7 +83,7 @@ import java.io.Serializable; * doc flavor's MIME type is one of the standard media types telling how to * interpret the sequence of characters or bytes. For a list of standard media * types, see the Internet Assigned Numbers Authority's (IANA's) <A - * HREF="http://www.isi.edu/in-notes/iana/assignments/media-types/">Media Types + * HREF="http://www.iana.org/assignments/media-types/">Media Types * Directory</A>. Interface {@link Doc Doc} provides two utility operations, * {@link Doc#getReaderForText() getReaderForText} and * {@link Doc#getStreamForBytes() getStreamForBytes()}, to help a diff --git a/src/share/classes/javax/swing/DefaultDesktopManager.java b/src/share/classes/javax/swing/DefaultDesktopManager.java index 923bd5a36..d53152626 100644 --- a/src/share/classes/javax/swing/DefaultDesktopManager.java +++ b/src/share/classes/javax/swing/DefaultDesktopManager.java @@ -26,17 +26,13 @@ package javax.swing; -import java.awt.*; -import java.beans.PropertyVetoException; -import java.beans.PropertyChangeEvent; -import javax.swing.border.Border; -import java.awt.event.ComponentListener; -import java.awt.event.ComponentAdapter; -import java.awt.event.ComponentEvent; - +import com.sun.awt.AWTUtilities; import sun.awt.AWTAccessor; import sun.awt.SunToolkit; +import java.awt.*; +import java.beans.PropertyVetoException; + /** This is an implementation of the <code>DesktopManager</code>. * It currently implements the basic behaviors for managing * <code>JInternalFrame</code>s in an arbitrary parent. @@ -318,7 +314,10 @@ public class DefaultDesktopManager implements DesktopManager, java.io.Serializab dragMode = DEFAULT_DRAG_MODE; if (p != null) { String mode = (String)p.getClientProperty("JDesktopPane.dragMode"); - if (mode != null && mode.equals("outline")) { + Window window = SwingUtilities.getWindowAncestor(f); + if (window != null && !AWTUtilities.isWindowOpaque(window)) { + dragMode = DEFAULT_DRAG_MODE; + } else if (mode != null && mode.equals("outline")) { dragMode = OUTLINE_DRAG_MODE; } else if (mode != null && mode.equals("faster") && f instanceof JInternalFrame diff --git a/src/share/classes/javax/swing/JTable.java b/src/share/classes/javax/swing/JTable.java index 950b5de50..fd0e4eab6 100644 --- a/src/share/classes/javax/swing/JTable.java +++ b/src/share/classes/javax/swing/JTable.java @@ -2583,10 +2583,8 @@ public class JTable extends JComponent implements TableModelListener, Scrollable * @see #convertColumnIndexToView */ public int convertColumnIndexToModel(int viewColumnIndex) { - if (viewColumnIndex < 0) { - return viewColumnIndex; - } - return getColumnModel().getColumn(viewColumnIndex).getModelIndex(); + return SwingUtilities2.convertColumnIndexToModel( + getColumnModel(), viewColumnIndex); } /** @@ -2603,16 +2601,8 @@ public class JTable extends JComponent implements TableModelListener, Scrollable * @see #convertColumnIndexToModel */ public int convertColumnIndexToView(int modelColumnIndex) { - if (modelColumnIndex < 0) { - return modelColumnIndex; - } - TableColumnModel cm = getColumnModel(); - for (int column = 0; column < getColumnCount(); column++) { - if (cm.getColumn(column).getModelIndex() == modelColumnIndex) { - return column; - } - } - return -1; + return SwingUtilities2.convertColumnIndexToView( + getColumnModel(), modelColumnIndex); } /** diff --git a/src/share/classes/javax/swing/border/MatteBorder.java b/src/share/classes/javax/swing/border/MatteBorder.java index f7719abaf..02ca200a0 100644 --- a/src/share/classes/javax/swing/border/MatteBorder.java +++ b/src/share/classes/javax/swing/border/MatteBorder.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,7 +26,6 @@ package javax.swing.border; import java.awt.Graphics; import java.awt.Insets; -import java.awt.Rectangle; import java.awt.Component; import java.awt.Color; @@ -133,63 +132,29 @@ public class MatteBorder extends EmptyBorder g.fillRect(width - insets.right, 0, insets.right, height - insets.bottom); } else if (tileIcon != null) { - int tileW = tileIcon.getIconWidth(); int tileH = tileIcon.getIconHeight(); - int xpos, ypos, startx, starty; - Graphics cg; - - // Paint top matte edge - cg = g.create(); - cg.setClip(0, 0, width, insets.top); - for (ypos = 0; insets.top - ypos > 0; ypos += tileH) { - for (xpos = 0; width - xpos > 0; xpos += tileW) { - tileIcon.paintIcon(c, cg, xpos, ypos); - } - } - cg.dispose(); - - // Paint left matte edge - cg = g.create(); - cg.setClip(0, insets.top, insets.left, height - insets.top); - starty = insets.top - (insets.top%tileH); - startx = 0; - for (ypos = starty; height - ypos > 0; ypos += tileH) { - for (xpos = startx; insets.left - xpos > 0; xpos += tileW) { - tileIcon.paintIcon(c, cg, xpos, ypos); - } - } - cg.dispose(); - - // Paint bottom matte edge - cg = g.create(); - cg.setClip(insets.left, height - insets.bottom, width - insets.left, insets.bottom); - starty = (height - insets.bottom) - ((height - insets.bottom)%tileH); - startx = insets.left - (insets.left%tileW); - for (ypos = starty; height - ypos > 0; ypos += tileH) { - for (xpos = startx; width - xpos > 0; xpos += tileW) { - tileIcon.paintIcon(c, cg, xpos, ypos); - } - } - cg.dispose(); - - // Paint right matte edge - cg = g.create(); - cg.setClip(width - insets.right, insets.top, insets.right, height - insets.top - insets.bottom); - starty = insets.top - (insets.top%tileH); - startx = width - insets.right - ((width - insets.right)%tileW); - for (ypos = starty; height - ypos > 0; ypos += tileH) { - for (xpos = startx; width - xpos > 0; xpos += tileW) { - tileIcon.paintIcon(c, cg, xpos, ypos); - } - } - cg.dispose(); + paintEdge(c, g, 0, 0, width - insets.right, insets.top, tileW, tileH); + paintEdge(c, g, 0, insets.top, insets.left, height - insets.top, tileW, tileH); + paintEdge(c, g, insets.left, height - insets.bottom, width - insets.left, insets.bottom, tileW, tileH); + paintEdge(c, g, width - insets.right, 0, insets.right, height - insets.bottom, tileW, tileH); } g.translate(-x, -y); g.setColor(oldColor); } + private void paintEdge(Component c, Graphics g, int x, int y, int width, int height, int tileW, int tileH) { + g = g.create(x, y, width, height); + int sY = -(y % tileH); + for (x = -(x % tileW); x < width; x += tileW) { + for (y = sY; y < height; y += tileH) { + this.tileIcon.paintIcon(c, g, x, y); + } + } + g.dispose(); + } + /** * Reinitialize the insets parameter with this Border's current Insets. * @param c the component for which this border insets value applies diff --git a/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java b/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java index 2ed72d3b2..0e9e23caf 100644 --- a/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java +++ b/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java @@ -3524,7 +3524,13 @@ public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants { } else if (name =="indexForTitle") { calculatedBaseline = false; - updateHtmlViews((Integer)e.getNewValue()); + Integer index = (Integer) e.getNewValue(); + // remove the current index + // to let updateHtmlViews() insert the correct one + if (htmlViews != null) { + htmlViews.removeElementAt(index); + } + updateHtmlViews(index); } else if (name == "tabLayoutPolicy") { BasicTabbedPaneUI.this.uninstallUI(pane); BasicTabbedPaneUI.this.installUI(pane); diff --git a/src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java b/src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java index 8ff6e85b3..1524c03ea 100644 --- a/src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java +++ b/src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java @@ -98,15 +98,18 @@ public class BasicTableHeaderUI extends TableHeaderUI { private Cursor otherCursor = resizeCursor; public void mouseClicked(MouseEvent e) { + if (!header.isEnabled()) { + return; + } if (e.getClickCount() % 2 == 1 && - SwingUtilities.isLeftMouseButton(e)){ + SwingUtilities.isLeftMouseButton(e)) { JTable table = header.getTable(); RowSorter sorter; if (table != null && (sorter = table.getRowSorter()) != null) { int columnIndex = header.columnAtPoint(e.getPoint()); if (columnIndex != -1) { columnIndex = table.convertColumnIndexToModel( - columnIndex); + columnIndex); sorter.toggleSortOrder(columnIndex); } } @@ -140,6 +143,9 @@ public class BasicTableHeaderUI extends TableHeaderUI { } public void mousePressed(MouseEvent e) { + if (!header.isEnabled()) { + return; + } header.setDraggedColumn(null); header.setResizingColumn(null); header.setDraggedDistance(0); @@ -182,6 +188,9 @@ public class BasicTableHeaderUI extends TableHeaderUI { } public void mouseMoved(MouseEvent e) { + if (!header.isEnabled()) { + return; + } if (canResize(getResizingColumn(e.getPoint()), header) != (header.getCursor() == resizeCursor)) { swapCursor(); @@ -190,6 +199,9 @@ public class BasicTableHeaderUI extends TableHeaderUI { } public void mouseDragged(MouseEvent e) { + if (!header.isEnabled()) { + return; + } int mouseX = e.getX(); TableColumn resizingColumn = header.getResizingColumn(); @@ -217,21 +229,23 @@ public class BasicTableHeaderUI extends TableHeaderUI { if (0 <= newColumnIndex && newColumnIndex < cm.getColumnCount()) { int width = cm.getColumn(newColumnIndex).getWidth(); if (Math.abs(draggedDistance) > (width / 2)) { - JTable table = header.getTable(); mouseXOffset = mouseXOffset + direction * width; header.setDraggedDistance(draggedDistance - direction * width); //Cache the selected column. - int selectedIndex = table.convertColumnIndexToModel( - getSelectedColumnIndex()); + int selectedIndex = + SwingUtilities2.convertColumnIndexToModel( + header.getColumnModel(), + getSelectedColumnIndex()); //Now do the move. cm.moveColumn(columnIndex, newColumnIndex); //Update the selected index. selectColumn( - table.convertColumnIndexToView(selectedIndex), + SwingUtilities2.convertColumnIndexToView( + header.getColumnModel(), selectedIndex), false); return; @@ -244,6 +258,9 @@ public class BasicTableHeaderUI extends TableHeaderUI { } public void mouseReleased(MouseEvent e) { + if (!header.isEnabled()) { + return; + } setDraggedDistance(0, viewIndexForColumn(header.getDraggedColumn())); header.setResizingColumn(null); @@ -253,10 +270,16 @@ public class BasicTableHeaderUI extends TableHeaderUI { } public void mouseEntered(MouseEvent e) { + if (!header.isEnabled()) { + return; + } updateRolloverColumn(e); } public void mouseExited(MouseEvent e) { + if (!header.isEnabled()) { + return; + } int oldRolloverColumn = rolloverColumn; rolloverColumn = -1; rolloverColumnUpdated(oldRolloverColumn, rolloverColumn); diff --git a/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java b/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java index 46a8f9be0..fa226f168 100644 --- a/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java +++ b/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java @@ -779,20 +779,16 @@ public abstract class BasicTextUI extends TextUI implements ViewFactory { if (c instanceof JTextComponent) { editor = (JTextComponent) c; + // common case is background painted... this can + // easily be changed by subclasses or from outside + // of the component. + LookAndFeel.installProperty(editor, "opaque", Boolean.TRUE); + LookAndFeel.installProperty(editor, "autoscrolls", Boolean.TRUE); + // install defaults installDefaults(); installDefaults2(); - // This is a workaround as these should not override what synth has - // set them to - if (! (this instanceof SynthUI)) { - // common case is background painted... this can - // easily be changed by subclasses or from outside - // of the component. - LookAndFeel.installProperty(editor, "opaque", Boolean.TRUE); - LookAndFeel.installProperty(editor, "autoscrolls", Boolean.TRUE); - } - // attach to the model and editor editor.addPropertyChangeListener(updateHandler); Document doc = editor.getDocument(); diff --git a/src/share/classes/javax/swing/plaf/basic/BasicViewportUI.java b/src/share/classes/javax/swing/plaf/basic/BasicViewportUI.java index 30cd816df..7c56e24f2 100644 --- a/src/share/classes/javax/swing/plaf/basic/BasicViewportUI.java +++ b/src/share/classes/javax/swing/plaf/basic/BasicViewportUI.java @@ -56,8 +56,8 @@ public class BasicViewportUI extends ViewportUI { } public void uninstallUI(JComponent c) { + uninstallDefaults(c); super.uninstallUI(c); - } protected void installDefaults(JComponent c) { diff --git a/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java b/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java index 292773a52..86321ac34 100644 --- a/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java +++ b/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java @@ -361,12 +361,14 @@ public class SynthTableUI extends BasicTableUI cMax = table.getColumnCount()-1; } - // Paint the grid. - paintGrid(context, g, rMin, rMax, cMin, cMax); - // Paint the cells. paintCells(context, g, rMin, rMax, cMin, cMax); + // Paint the grid. + // it is important to paint the grid after the cells, otherwise the grid will be overpainted + // because in Synth cell renderers are likely to be opaque + paintGrid(context, g, rMin, rMax, cMin, cMax); + paintDropLines(context, g); } diff --git a/src/share/classes/javax/swing/plaf/synth/SynthTextPaneUI.java b/src/share/classes/javax/swing/plaf/synth/SynthTextPaneUI.java index 90fd41e61..74d3d1d53 100644 --- a/src/share/classes/javax/swing/plaf/synth/SynthTextPaneUI.java +++ b/src/share/classes/javax/swing/plaf/synth/SynthTextPaneUI.java @@ -72,7 +72,28 @@ public class SynthTextPaneUI extends SynthEditorPaneUI { } /** - * @inheritDoc + * Installs the UI for a component. This does the following + * things. + * <ol> + * <li> + * Sets opaqueness of the associated component according to its style, + * if the opaque property has not already been set by the client program. + * <li> + * Installs the default caret and highlighter into the + * associated component. These properties are only set if their + * current value is either {@code null} or an instance of + * {@link UIResource}. + * <li> + * Attaches to the editor and model. If there is no + * model, a default one is created. + * <li> + * Creates the view factory and the view hierarchy used + * to represent the model. + * </ol> + * + * @param c the editor component + * @see BasicTextUI#installUI + * @see ComponentUI#installUI */ @Override public void installUI(JComponent c) { diff --git a/src/share/classes/javax/swing/text/WrappedPlainView.java b/src/share/classes/javax/swing/text/WrappedPlainView.java index e192c0776..7d01cd904 100644 --- a/src/share/classes/javax/swing/text/WrappedPlainView.java +++ b/src/share/classes/javax/swing/text/WrappedPlainView.java @@ -24,8 +24,6 @@ */ package javax.swing.text; -import java.util.Vector; -import java.util.Properties; import java.awt.*; import java.lang.ref.SoftReference; import javax.swing.event.*; @@ -236,9 +234,6 @@ public class WrappedPlainView extends BoxView implements TabExpander { Segment segment = SegmentCache.getSharedSegment(); loadText(segment, p0, p1); int currentWidth = getWidth(); - if (currentWidth == Integer.MAX_VALUE) { - currentWidth = (int) getDefaultSpan(View.X_AXIS); - } if (wordWrap) { p = p0 + Utilities.getBreakLocation(segment, metrics, tabBase, tabBase + currentWidth, @@ -324,53 +319,6 @@ public class WrappedPlainView extends BoxView implements TabExpander { tabSize = getTabSize() * metrics.charWidth('m'); } - /** - * Return reasonable default values for the view dimensions. The standard - * text terminal size 80x24 is pretty suitable for the wrapped plain view. - * - * The size should not be larger than the component housing the view's - * container. - */ - private float getDefaultSpan(int axis) { - Container host = getContainer(); - Component parent = null; - - if (host != null) { - parent = host.getParent(); - } - - switch (axis) { - case View.X_AXIS: - int defaultWidth = 80 * metrics.getWidths()['M']; - int parentWidth = 0; - - if (parent != null) { - parentWidth = parent.getWidth(); - } - - if (defaultWidth > parentWidth) { - return parentWidth; - } - return defaultWidth; - - case View.Y_AXIS: - int defaultHeight = 24 * metrics.getHeight(); - int parentHeight = 0; - - if (parent != null) { - parentHeight = parent.getHeight(); - } - - if (defaultHeight > parentHeight) { - return parentHeight; - } - return defaultHeight; - - default: - throw new IllegalArgumentException("Invalid axis: " + axis); - } - } - // --- TabExpander methods ------------------------------------------ /** @@ -605,18 +553,14 @@ public class WrappedPlainView extends BoxView implements TabExpander { if (width == Integer.MAX_VALUE) { // We have been initially set to MAX_VALUE, but we don't // want this as our preferred. - width = getDefaultSpan(axis); + return 100f; } return width; case View.Y_AXIS: - if (getDocument().getLength() > 0) { - if ((lineCount < 0) || widthChanging) { - breakLines(getStartOffset()); - } - return lineCount * metrics.getHeight(); - } else { - return getDefaultSpan(axis); + if (lineCount < 0 || widthChanging) { + breakLines(getStartOffset()); } + return lineCount * metrics.getHeight(); default: throw new IllegalArgumentException("Invalid axis: " + axis); } diff --git a/src/share/classes/javax/swing/text/html/parser/html32.bdtd b/src/share/classes/javax/swing/text/html/parser/html32.bdtd Binary files differdeleted file mode 100644 index a48d51ce8..000000000 --- a/src/share/classes/javax/swing/text/html/parser/html32.bdtd +++ /dev/null |