aboutsummaryrefslogtreecommitdiff
path: root/libjava/javax/swing/JComponent.java
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@redhat.com>2004-01-22 09:54:19 +0000
committerGraydon Hoare <graydon@gcc.gnu.org>2004-01-22 09:54:19 +0000
commitca3bb0c283932ab6342cac597f2a9e04e2b0c1b2 (patch)
tree0f7e79b1c6afb9ecf4b3d15908999b740f7cd2ef /libjava/javax/swing/JComponent.java
parent1fd05073984ebdf3e087613adce163587b33e1e5 (diff)
downloadgcc-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.java37
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)