aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/javax/swing/plaf
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/classes/javax/swing/plaf')
-rw-r--r--src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java8
-rw-r--r--src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java35
-rw-r--r--src/share/classes/javax/swing/plaf/basic/BasicTextUI.java16
-rw-r--r--src/share/classes/javax/swing/plaf/basic/BasicViewportUI.java2
-rw-r--r--src/share/classes/javax/swing/plaf/synth/SynthTableUI.java8
-rw-r--r--src/share/classes/javax/swing/plaf/synth/SynthTextPaneUI.java23
6 files changed, 70 insertions, 22 deletions
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) {