diff options
author | Graydon Hoare <graydon@redhat.com> | 2004-01-22 09:54:19 +0000 |
---|---|---|
committer | Graydon Hoare <graydon@gcc.gnu.org> | 2004-01-22 09:54:19 +0000 |
commit | ca3bb0c283932ab6342cac597f2a9e04e2b0c1b2 (patch) | |
tree | 0f7e79b1c6afb9ecf4b3d15908999b740f7cd2ef /libjava/javax/swing/JComponent.java | |
parent | 1fd05073984ebdf3e087613adce163587b33e1e5 (diff) | |
download | gcc-ca3bb0c283932ab6342cac597f2a9e04e2b0c1b2.zip gcc-ca3bb0c283932ab6342cac597f2a9e04e2b0c1b2.tar.gz gcc-ca3bb0c283932ab6342cac597f2a9e04e2b0c1b2.tar.bz2 |
2004-01-22 Graydon Hoare <graydon@redhat.com>
* gnu/java/awt/peer/gtk/GdkClasspathFontPeer.java:
* gnu/java/awt/peer/gtk/GdkGlyphVector.java:
Predicate static initialization on GtkToolkit.useGraphics2D().
* java/awt/Component.java (processPaintEvent): Consume event.
* javax/swing/AbstractButton.java: Reimplement, document.
* javax/swing/DefaultButtonModel.java: Reimplement, document.
* javax/swing/JComponent.java (paint): Use double buffer.
(listenerList): Enable member.
* javax/swing/ToggleButtonModel.java: Remove incorrect constructor.
* javax/swing/JToggleButton.java
(JToggleButton): Modify model constructor.
* javax/swing/SwingUtilities.java
(layoutCompoundLabel): Adjust arithmetic.
* javax/swing/plaf/basic/BasicButtonUI.java: Reimplement, document.
* javax/swing/plaf/basic/BasicGraphicsUtils.java
(getPreferredButtonSize): Include margins in calculation.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_connectSignals):
Receive up events from subordinate layout component.
From-SVN: r76344
Diffstat (limited to 'libjava/javax/swing/JComponent.java')
-rw-r--r-- | libjava/javax/swing/JComponent.java | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/libjava/javax/swing/JComponent.java b/libjava/javax/swing/JComponent.java index a0409a4..b95b7e6 100644 --- a/libjava/javax/swing/JComponent.java +++ b/libjava/javax/swing/JComponent.java @@ -46,6 +46,7 @@ import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.Graphics; +import java.awt.Image; import java.awt.Insets; import java.awt.Point; import java.awt.Rectangle; @@ -56,6 +57,7 @@ import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; +import java.awt.image.ImageObserver; import java.awt.peer.LightweightPeer; import java.beans.PropertyChangeListener; import java.beans.PropertyVetoException; @@ -271,13 +273,16 @@ public abstract class JComponent extends Container implements Serializable super(); super.setLayout(new FlowLayout()); + listenerList = new EventListenerList(); + //eventMask |= AWTEvent.COMP_KEY_EVENT_MASK; - enableEvents( AWTEvent.KEY_EVENT_MASK ); + // enableEvents( AWTEvent.KEY_EVENT_MASK ); //updateUI(); // get a proper ui } - // protected EventListenerList listenerList + protected EventListenerList listenerList; + public boolean contains(int x, int y) { //return dims.contains(x,y); @@ -701,11 +706,29 @@ public abstract class JComponent extends Container implements Serializable public void paint(Graphics g) { - // System.out.println("SWING_PAINT:" + this); + Graphics g2 = g; + Image im = null; + Rectangle r = getBounds (); + // System.err.println(this + ".paint(...), bounds = " + r); + + if (use_double_buffer) + { + im = createImage (r.width, r.height); + g2 = im.getGraphics (); + g2.clearRect (0, 0, r.width, r.height); + } + + paintBorder(g2); + paintComponent(g2); + paintChildren(g2); - paintBorder(g); - paintComponent(g); - paintChildren(g); + if (use_double_buffer) + { + // always draw at 0,0, because regardless of your current bounds, + // the graphics object you were passed was positioned so the origin + // was at the upper left corner of your bounds. + g.drawImage (im, 0, 0, (ImageObserver)null); + } } protected void paintBorder(Graphics g) @@ -729,7 +752,7 @@ public abstract class JComponent extends Container implements Serializable protected void paintChildren(Graphics g) { // Paint this component's children. - //super.paintChildren(g); + super.paint(g); } protected void paintComponent(Graphics g) |