diff -BburN swing/src/main/java/common/javax/swing/JTable.java swing.new/src/main/java/common/javax/swing/JTable.java --- swing/src/main/java/common/javax/swing/JTable.java 2007-09-13 22:23:49.842144000 +0800 +++ swing.new/src/main/java/common/javax/swing/JTable.java 2007-09-13 22:16:39.453275200 +0800 @@ -1264,7 +1264,11 @@ } public int columnAtPoint(Point p) { - return getTableHeader().columnAtPoint(p); + int x = p.x; + if( !getComponentOrientation().isLeftToRight() ) { + x = getWidth() - x; + } + return getColumnModel().getColumnIndexAtX(x); } public int rowAtPoint(Point p) { @@ -1645,7 +1649,7 @@ if (getAutoResizeMode() == AUTO_RESIZE_OFF) { return; } - TableColumn resizingColumn = getTableHeader().getResizingColumn(); + TableColumn resizingColumn = (getTableHeader() == null) ? null : getTableHeader().getResizingColumn(); if (resizingColumn == null) { ResizableElements resizable = new ResizableElements() { public int getElementsCount() { diff -BburN swing/src/main/java/common/javax/swing/plaf/basic/BasicComboBoxUI.java swing.new/src/main/java/common/javax/swing/plaf/basic/BasicComboBoxUI.java --- swing/src/main/java/common/javax/swing/plaf/basic/BasicComboBoxUI.java 2007-09-13 22:24:02.730676800 +0800 +++ swing.new/src/main/java/common/javax/swing/plaf/basic/BasicComboBoxUI.java 2007-09-13 22:22:32.821393600 +0800 @@ -172,18 +172,24 @@ public class PropertyChangeHandler implements PropertyChangeListener { public void propertyChange(final PropertyChangeEvent event) { if (StringConstants.ENABLED_PROPERTY_CHANGED.equals(event.getPropertyName())) { + if (arrowButton != null) { arrowButton.setEnabled(((Boolean)event.getNewValue()).booleanValue()); - if (comboBox.isEditable()) { + } + if (comboBox.isEditable() && (editor != null)) { editor.setEnabled(((Boolean)event.getNewValue()).booleanValue()); } } else if (StringConstants.TOOLTIP_PROPERTY_CHANGED.equals(event.getPropertyName())) { + if (arrowButton != null) { arrowButton.setToolTipText((String)event.getNewValue()); + } if (comboBox.isEditable() && (editor instanceof JComponent)) { ((JComponent)editor).setToolTipText((String)event.getNewValue()); } } else if (StringConstants.FONT_PROPERTY_CHANGED.equals(event.getPropertyName())) { + if (arrowButton != null) { arrowButton.setFont((Font)event.getNewValue()); - if (comboBox.isEditable()) { + } + if (comboBox.isEditable() && (editor != null)) { editor.setFont((Font)event.getNewValue()); } } else if (StringConstants.EDITABLE_PROPERTY_CHANGED.equals(event.getPropertyName())) {