home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.motif;
-
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Label;
- import java.awt.peer.LabelPeer;
-
- class MLabelPeer extends MComponentPeer implements LabelPeer {
- native void create(MComponentPeer var1);
-
- public void initialize() {
- Label var1 = (Label)super.target;
- if (var1.getText() != null) {
- this.setText(var1.getText());
- }
-
- int var3;
- if ((var3 = var1.getAlignment()) != 0) {
- this.setAlignment(var3);
- }
-
- super.initialize();
- }
-
- MLabelPeer(Label var1) {
- super(var1);
- }
-
- public Dimension getMinimumSize() {
- FontMetrics var1 = ((MComponentPeer)this).getFontMetrics(super.target.getFont());
- String var2 = ((Label)super.target).getText();
- if (var2 == null) {
- var2 = "";
- }
-
- return new Dimension(var1.stringWidth(var2) + 14, var1.getHeight() + 8);
- }
-
- public native void setText(String var1);
-
- public native void setAlignment(int var1);
-
- public void print(Graphics var1) {
- Label var2 = (Label)super.target;
- Dimension var3 = ((Component)var2).size();
- Color var4 = ((Component)var2).getBackground();
- Color var5 = ((Component)var2).getForeground();
- var1.setColor(var4);
- var1.fillRect(1, 1, var3.width - 2, var3.height - 2);
- var1.setColor(var5);
- var1.setFont(((Component)var2).getFont());
- FontMetrics var6 = var1.getFontMetrics();
- String var7 = var2.getText();
- switch (var2.getAlignment()) {
- case 0:
- var1.drawString(var7, 2, (var3.height + var6.getMaxAscent() - var6.getMaxDescent()) / 2);
- break;
- case 1:
- var1.drawString(var7, (var3.width - var6.stringWidth(var7)) / 2, (var3.height + var6.getMaxAscent() - var6.getMaxDescent()) / 2);
- break;
- case 2:
- var1.drawString(var7, var3.width - (var6.stringWidth(var7) + 2), (var3.height + var6.getMaxAscent() - var6.getMaxDescent()) / 2);
- }
-
- super.target.print(var1);
- }
-
- public Dimension minimumSize() {
- return this.getMinimumSize();
- }
- }
-