< prev index next >
src/java.desktop/unix/classes/sun/awt/X11/XTextFieldPeer.java
Print this page
@@ -93,18 +93,18 @@
setEditable(target.isEditable());
// After this line we should not change the component's text
firstChangeSkipped = true;
+ AWTAccessor.getComponentAccessor().setPeer(xtext, this);
}
@Override
public void dispose() {
XToolkit.specialPeerMap.remove(xtext);
// visible caret has a timer thread which must be stopped
xtext.getCaret().setVisible(false);
- xtext.removeNotify();
super.dispose();
}
void initTextField() {
setVisible(target.isVisible());
@@ -257,32 +257,36 @@
if (log.isLoggable(PlatformLogger.Level.FINE)) {
log.fine("target="+ target + ", old=" + background + ", new=" + c);
}
background = c;
if (xtext != null) {
+ if (xtext.getBackground() != c) {
xtext.setBackground(c);
+ }
xtext.setSelectedTextColor(c);
}
repaintText();
}
@Override
public void setForeground(Color c) {
foreground = c;
if (xtext != null) {
+ if (xtext.getForeground() != c) {
xtext.setForeground(foreground);
+ }
xtext.setSelectionColor(foreground);
xtext.setCaretColor(foreground);
}
repaintText();
}
@Override
public void setFont(Font f) {
synchronized (getStateLock()) {
font = f;
- if (xtext != null) {
+ if (xtext != null && xtext.getFont() != f) {
xtext.setFont(font);
}
}
xtext.validate();
}
< prev index next >