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

  1. package sun.awt.motif;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Dimension;
  6. import java.awt.FontMetrics;
  7. import java.awt.Graphics;
  8. import java.awt.Label;
  9. import java.awt.peer.LabelPeer;
  10.  
  11. class MLabelPeer extends MComponentPeer implements LabelPeer {
  12.    native void create(MComponentPeer var1);
  13.  
  14.    public void initialize() {
  15.       Label var1 = (Label)super.target;
  16.       if (var1.getText() != null) {
  17.          this.setText(var1.getText());
  18.       }
  19.  
  20.       int var3;
  21.       if ((var3 = var1.getAlignment()) != 0) {
  22.          this.setAlignment(var3);
  23.       }
  24.  
  25.       super.initialize();
  26.    }
  27.  
  28.    MLabelPeer(Label var1) {
  29.       super(var1);
  30.    }
  31.  
  32.    public Dimension getMinimumSize() {
  33.       FontMetrics var1 = ((MComponentPeer)this).getFontMetrics(super.target.getFont());
  34.       String var2 = ((Label)super.target).getText();
  35.       if (var2 == null) {
  36.          var2 = "";
  37.       }
  38.  
  39.       return new Dimension(var1.stringWidth(var2) + 14, var1.getHeight() + 8);
  40.    }
  41.  
  42.    public native void setText(String var1);
  43.  
  44.    public native void setAlignment(int var1);
  45.  
  46.    public void print(Graphics var1) {
  47.       Label var2 = (Label)super.target;
  48.       Dimension var3 = ((Component)var2).size();
  49.       Color var4 = ((Component)var2).getBackground();
  50.       Color var5 = ((Component)var2).getForeground();
  51.       var1.setColor(var4);
  52.       var1.fillRect(1, 1, var3.width - 2, var3.height - 2);
  53.       var1.setColor(var5);
  54.       var1.setFont(((Component)var2).getFont());
  55.       FontMetrics var6 = var1.getFontMetrics();
  56.       String var7 = var2.getText();
  57.       switch (var2.getAlignment()) {
  58.          case 0:
  59.             var1.drawString(var7, 2, (var3.height + var6.getMaxAscent() - var6.getMaxDescent()) / 2);
  60.             break;
  61.          case 1:
  62.             var1.drawString(var7, (var3.width - var6.stringWidth(var7)) / 2, (var3.height + var6.getMaxAscent() - var6.getMaxDescent()) / 2);
  63.             break;
  64.          case 2:
  65.             var1.drawString(var7, var3.width - (var6.stringWidth(var7) + 2), (var3.height + var6.getMaxAscent() - var6.getMaxDescent()) / 2);
  66.       }
  67.  
  68.       super.target.print(var1);
  69.    }
  70.  
  71.    public Dimension minimumSize() {
  72.       return this.getMinimumSize();
  73.    }
  74. }
  75.