aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/Component.java
diff options
context:
space:
mode:
authorHans Boehm <Hans_Boehm@hp.com>2003-02-19 00:35:35 +0000
committerHans Boehm <hboehm@gcc.gnu.org>2003-02-19 00:35:35 +0000
commit56bba8cf57d0aa75d0266486595efe0d070af0b7 (patch)
treeabb4641e8aaeacc764f059098100e1aa5dde90a7 /libjava/java/awt/Component.java
parent35bd55199796da40e73ce07ac42c4e88a9e40e6a (diff)
downloadgcc-56bba8cf57d0aa75d0266486595efe0d070af0b7.zip
gcc-56bba8cf57d0aa75d0266486595efe0d070af0b7.tar.gz
gcc-56bba8cf57d0aa75d0266486595efe0d070af0b7.tar.bz2
XToolkit.java (getFontMetrics): initialize if necessary.
2003-02-18 Hans Boehm <Hans.Boehm@hp.com> * gnu/awt/xlib/XToolkit.java (getFontMetrics): initialize if necessary. * gnu/java/awt/peer/gtk/GtkButtonPeer.java, gnu/java/awt/peer/gtk/GtkTextAreaPeer.java, gnu/java/awt/peer/gtk/GtkTextFieldPeer.java, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c, jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c (setFont, gtkSetFont): add. gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer): Propagate font to peer. (setFont): add FIXME comment. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c (gtkTextGetSize): fix height, width computation. * gnu/java/awt/peer/gtk/GtkFontPeer.java (GtkFontPeer): Make X font name a bit less bogus. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c (post_adjustment_event): Pass on GTK_SCROLL_NONE. * java/awt/Scrollbar.java (setValues): Fix visibleAmount range check. (processAdjustmentEvent): Adjust value. * java/awt/FlowLayout.java (layoutContainer) Fix 2 indexing and one logic errors. * java/awt/Component.java (setVisible, show, hide): Call show and hide methods in subclasses. (getPreferredSize): don't set prefSize before we have peer. * java/awt/TextArea.java, java/awt/TextField.java (getPreferredSize): Guess (0,0) if we don't have peer. From-SVN: r63077
Diffstat (limited to 'libjava/java/awt/Component.java')
-rw-r--r--libjava/java/awt/Component.java21
1 files changed, 14 insertions, 7 deletions
diff --git a/libjava/java/awt/Component.java b/libjava/java/awt/Component.java
index d61db05..88f9181 100644
--- a/libjava/java/awt/Component.java
+++ b/libjava/java/awt/Component.java
@@ -844,9 +844,10 @@ public abstract class Component
// Inspection by subclassing shows that Sun's implementation calls
// show(boolean) which then calls show() or hide(). It is the show()
// method that is overriden in subclasses like Window.
- if (peer != null)
- peer.setVisible(b);
- this.visible = b;
+ if (b)
+ show();
+ else
+ hide();
}
/**
@@ -856,7 +857,9 @@ public abstract class Component
*/
public void show()
{
- setVisible(true);
+ if (peer != null)
+ peer.setVisible(true);
+ this.visible = true;
}
/**
@@ -877,7 +880,9 @@ public abstract class Component
*/
public void hide()
{
- setVisible(false);
+ if (peer != null)
+ peer.setVisible(false);
+ this.visible = false;
}
/**
@@ -1448,8 +1453,10 @@ public abstract class Component
public Dimension getPreferredSize()
{
if (prefSize == null)
- prefSize = (peer != null ? peer.getPreferredSize()
- : new Dimension(width, height));
+ if (peer == null)
+ return new Dimension(width, height);
+ else
+ prefSize = peer.getPreferredSize();
return prefSize;
}