summaryrefslogtreecommitdiffstats
path: root/libjava/javax/swing/plaf/basic/BasicLabelUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/javax/swing/plaf/basic/BasicLabelUI.java')
-rw-r--r--libjava/javax/swing/plaf/basic/BasicLabelUI.java158
1 files changed, 158 insertions, 0 deletions
diff --git a/libjava/javax/swing/plaf/basic/BasicLabelUI.java b/libjava/javax/swing/plaf/basic/BasicLabelUI.java
new file mode 100644
index 00000000000..22bdc54aaab
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicLabelUI.java
@@ -0,0 +1,158 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.*;
+import javax.swing.plaf.*;
+import java.awt.*;
+
+
+public class BasicLabelUI extends LabelUI
+{
+ int gap = 3;
+
+ Color foreground;
+
+
+ public static ComponentUI createUI(final JComponent c) {
+ return new BasicLabelUI();
+ }
+
+
+ public void installUI(final JComponent c) {
+ super.installUI(c);
+
+ foreground = new Color(0,0,250);
+ }
+
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ JLabel b = (JLabel)c;
+ Dimension d = BasicGraphicsUtils.getPreferredSize(b,
+ gap,
+ b.getText(),
+ b.getIcon(),
+ b.getVerticalAlignment(),
+ b.getHorizontalAlignment(),
+ b.getHorizontalTextPosition(),
+ b.getVerticalTextPosition());
+ System.out.println("JLABEL->^^^^^^^^^^^^^^^^^^^^^^ BASIC-PREF="+d + ",T="+b.getText());
+ return d;
+ }
+
+
+ public void paint(Graphics g, JComponent c)
+ {
+ JLabel b = (JLabel) c;
+
+ Rectangle tr = new Rectangle();
+ Rectangle ir = new Rectangle();
+ Rectangle vr = new Rectangle();
+
+ Font f = c.getFont();
+
+ g.setFont(f);
+
+ FontMetrics fm = SwingUtilities.getFontMetrics(f);
+
+ Insets i = c.getInsets();
+
+ Rectangle bound = c.getBounds();
+
+ System.out.println("BOUND=" + bound + ", insets = " + i + ", " + b.getText());
+
+ if (bound == null)
+ {
+ vr.x = i.left;
+ vr.y = i.top;
+ vr.width = b.getWidth() - (i.right + i.left);
+ vr.height = b.getHeight() - (i.bottom + i.top);
+ }
+ else
+ {
+ vr.x = bound.x + i.left;
+ vr.y = bound.y + i.top;
+ vr.width = bound.width - (i.right + i.left);
+ vr.height = bound.height - (i.bottom + i.top);
+ }
+
+ System.out.println(" VIEW-RECT-JLABEL="+vr+", insets="+i+", FONTM="+fm);
+
+ String text = SwingUtilities.layoutCompoundLabel(c,
+ fm,
+ b.getText(),
+ b.getIcon(),
+ b.getVerticalAlignment(),
+ b.getHorizontalAlignment(),
+ b.getVerticalTextPosition(),
+ b.getHorizontalTextPosition(),
+ vr,
+ ir,
+ tr,
+ gap);
+
+ paintIcon(g, c, ir);
+ paintText(g, c, tr, b.getText());
+ paintFocus(g, c, vr, tr, ir);
+ }
+
+
+ protected void paintFocus(Graphics g,
+ JComponent c,
+ Rectangle vr,
+ Rectangle tr,
+ Rectangle ir)
+ {
+ }
+
+ protected void paintIcon(Graphics g,
+ JComponent c,
+ Rectangle iconRect)
+ {
+ JLabel b = (JLabel) c;
+ if (b.getIcon() != null)
+ {
+ int x = iconRect.x;
+ int y = iconRect.y;
+
+ System.out.println("WE HAVE AN ICON: " + b.getIcon());
+
+ b.getIcon().paintIcon(c, g, x, y);
+ }
+ else
+ {
+ //System.out.println("NO ICON FOR BUTTON:" + b.text);
+ }
+ }
+
+
+ protected void paintText(Graphics g,
+ JComponent c,
+ Rectangle textRect,
+ String text)
+ {
+ // AbstractLabel b = (AbstractLabel) c;
+
+ System.out.println("JLabel: drawing string: " + text + ", at:" + textRect);
+
+ g.setColor(foreground);
+ //g.setBackColor(new Color(190,190,190));
+
+ g.drawLine(0,0,100,100);
+
+ BasicGraphicsUtils.drawString(g,
+ text,
+ 0,
+ 0,//textRect.x,
+ 0);//textRect.y);
+ }
+}
+
+
+
+
+
+
+
+
+
+
OpenPOWER on IntegriCloud