home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIPHEFT062001.ISO / browser / nc32lyc / comm.z / java40.jar / sun / awt / motif / MButtonPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-08-15  |  2.1 KB  |  54 lines

  1. package sun.awt.motif;
  2.  
  3. import java.awt.Button;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Dimension;
  7. import java.awt.FontMetrics;
  8. import java.awt.Graphics;
  9. import java.awt.event.ActionEvent;
  10. import java.awt.peer.ButtonPeer;
  11.  
  12. class MButtonPeer extends MComponentPeer implements ButtonPeer {
  13.    native void create(MComponentPeer var1);
  14.  
  15.    public native void setLabel(String var1);
  16.  
  17.    MButtonPeer(Button var1) {
  18.       super(var1);
  19.    }
  20.  
  21.    public Dimension getMinimumSize() {
  22.       FontMetrics var1 = ((MComponentPeer)this).getFontMetrics(super.target.getFont());
  23.       return new Dimension(var1.stringWidth(((Button)super.target).getLabel()) + 14, var1.getHeight() + 8);
  24.    }
  25.  
  26.    public boolean isFocusTraversable() {
  27.       return true;
  28.    }
  29.  
  30.    public void action() {
  31.       ((MComponentPeer)this).postEvent(new ActionEvent(super.target, 1001, ((Button)super.target).getActionCommand()));
  32.    }
  33.  
  34.    public void print(Graphics var1) {
  35.       Button var2 = (Button)super.target;
  36.       Dimension var3 = ((Component)var2).size();
  37.       Color var4 = ((Component)var2).getBackground();
  38.       Color var5 = ((Component)var2).getForeground();
  39.       var1.setColor(var4);
  40.       var1.fillRect(2, 2, var3.width - 3, var3.height - 3);
  41.       ((MComponentPeer)this).draw3DRect(var1, var4, 1, 1, var3.width - 2, var3.height - 2, true);
  42.       var1.setColor(var5);
  43.       var1.setFont(((Component)var2).getFont());
  44.       FontMetrics var6 = var1.getFontMetrics();
  45.       String var7 = var2.getLabel();
  46.       var1.drawString(var7, (var3.width - var6.stringWidth(var7)) / 2, (var3.height + var6.getMaxAscent() - var6.getMaxDescent()) / 2);
  47.       super.target.print(var1);
  48.    }
  49.  
  50.    public Dimension minimumSize() {
  51.       return this.getMinimumSize();
  52.    }
  53. }
  54.