home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.plaf.basic;
-
- import com.sun.java.swing.Icon;
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.JLabel;
- import com.sun.java.swing.KeyStroke;
- import com.sun.java.swing.LookAndFeel;
- import com.sun.java.swing.SwingUtilities;
- import com.sun.java.swing.plaf.ComponentUI;
- import com.sun.java.swing.plaf.LabelUI;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Insets;
- import java.awt.Rectangle;
- import java.beans.PropertyChangeEvent;
- import java.beans.PropertyChangeListener;
- import java.io.Serializable;
- import java.util.EventObject;
-
- public class BasicLabelUI extends LabelUI implements Serializable, PropertyChangeListener {
- protected static BasicLabelUI labelUI = new BasicLabelUI();
-
- protected String layoutCL(JLabel var1, FontMetrics var2, String var3, Icon var4, Rectangle var5, Rectangle var6, Rectangle var7) {
- return SwingUtilities.layoutCompoundLabel(var2, var3, var4, var1.getVerticalAlignment(), var1.getHorizontalAlignment(), var1.getVerticalTextPosition(), var1.getHorizontalTextPosition(), var5, var6, var7, var1.getIconTextGap());
- }
-
- protected void paintEnabledText(JLabel var1, Graphics var2, String var3, int var4, int var5) {
- int var6 = var1.getDisplayedMnemonic();
- var2.setColor(((Component)var1).getForeground());
- BasicGraphicsUtils.drawString(var2, var3, var6, var4, var5);
- }
-
- protected void paintDisabledText(JLabel var1, Graphics var2, String var3, int var4, int var5) {
- int var6 = var1.getDisplayedMnemonic();
- Color var7 = ((Component)var1).getBackground();
- var2.setColor(var7.brighter());
- BasicGraphicsUtils.drawString(var2, var3, var6, var4, var5);
- var2.setColor(var7.darker());
- BasicGraphicsUtils.drawString(var2, var3, var6, var4 + 1, var5 + 1);
- }
-
- public void paint(Graphics var1, JComponent var2) {
- JLabel var3 = (JLabel)var2;
- String var4 = var3.getText();
- Icon var5 = ((Component)var3).isEnabled() ? var3.getIcon() : var3.getDisabledIcon();
- if (var5 != null || var4 != null) {
- FontMetrics var6 = var1.getFontMetrics();
- Rectangle var7 = new Rectangle();
- Rectangle var8 = new Rectangle();
- Rectangle var9 = new Rectangle(((Component)var2).getSize());
- Insets var10 = var2.getInsets();
- var9.x = var10.left;
- var9.y = var10.top;
- var9.width -= var10.left + var10.right;
- var9.height -= var10.top + var10.bottom;
- String var11 = this.layoutCL(var3, var6, var4, var5, var9, var7, var8);
- if (var5 != null) {
- var5.paintIcon(var2, var1, var7.x, var7.y);
- }
-
- if (var4 != null) {
- int var12 = var8.x;
- int var13 = var8.y + var6.getAscent();
- if (((Component)var3).isEnabled()) {
- this.paintEnabledText(var3, var1, var11, var12, var13);
- return;
- }
-
- this.paintDisabledText(var3, var1, var11, var12, var13);
- }
-
- }
- }
-
- public Dimension getPreferredSize(JComponent var1) {
- JLabel var2 = (JLabel)var1;
- String var3 = var2.getText();
- Icon var4 = var2.getIcon();
- Insets var5 = ((JComponent)var2).getInsets();
- Font var6 = ((Component)var2).getFont();
- int var7 = var5.left + var5.right;
- int var8 = var5.top + var5.bottom;
- if (var4 != null || var3 != null && (var3 == null || var6 != null)) {
- if (var3 != null && (var4 == null || var6 != null)) {
- FontMetrics var9 = ((Component)var2).getToolkit().getFontMetrics(var6);
- Rectangle var10 = new Rectangle();
- Rectangle var11 = new Rectangle();
- Rectangle var12 = new Rectangle(var7, var8, 32767, 32767);
- this.layoutCL(var2, var9, var3, var4, var12, var10, var11);
- Dimension var13 = var10.union(var11).getSize();
- var13.width += var7;
- var13.height += var8;
- return var13;
- } else {
- return new Dimension(var4.getIconWidth() + var7, var4.getIconHeight() + var8);
- }
- } else {
- return new Dimension(var7, var8);
- }
- }
-
- public Dimension getMinimumSize(JComponent var1) {
- return this.getPreferredSize(var1);
- }
-
- public Dimension getMaximumSize(JComponent var1) {
- return this.getPreferredSize(var1);
- }
-
- public void installUI(JComponent var1) {
- LookAndFeel.installColorsAndFont(var1, "Label.background", "Label.foreground", "Label.font");
- this.installKeyboardActions(var1);
- var1.addPropertyChangeListener(this);
- }
-
- public void uninstallUI(JComponent var1) {
- this.uninstallKeyboardActions(var1);
- var1.removePropertyChangeListener(this);
- }
-
- protected void installKeyboardActions(JComponent var1) {
- JLabel var2 = (JLabel)var1;
- int var3 = var2.getDisplayedMnemonic();
- Component var4 = var2.getLabelFor();
- var1.resetKeyboardActions();
- if (var3 != 0 && var4 != null) {
- ((JComponent)var2).registerKeyboardAction(new PressAction(var2, var4), KeyStroke.getKeyStroke(var3, 8, false), 2);
- }
-
- }
-
- protected void uninstallKeyboardActions(JComponent var1) {
- var1.resetKeyboardActions();
- }
-
- public static ComponentUI createUI(JComponent var0) {
- return labelUI;
- }
-
- public void propertyChange(PropertyChangeEvent var1) {
- if (var1.getPropertyName().equals("labelFor") || var1.getPropertyName().equals("displayedMnemonic")) {
- this.installKeyboardActions((JLabel)((EventObject)var1).getSource());
- }
-
- }
- }
-