summaryrefslogtreecommitdiffstats
path: root/libjava/javax/swing/plaf/basic/BasicListUI.java
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2002-08-09 04:26:17 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2002-08-09 04:26:17 +0000
commit71946bc3b406beb3d1fb9b447204e4236d645c43 (patch)
treecdf9958b411887bead2263ea8ef0bdfc8eae6319 /libjava/javax/swing/plaf/basic/BasicListUI.java
parent0fc014c9ce8232f14be66144bf5a4c08a3e5ffe7 (diff)
downloadppe42-gcc-71946bc3b406beb3d1fb9b447204e4236d645c43.tar.gz
ppe42-gcc-71946bc3b406beb3d1fb9b447204e4236d645c43.zip
AWT/Swing merge from GNU Classpath.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56147 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/javax/swing/plaf/basic/BasicListUI.java')
-rw-r--r--libjava/javax/swing/plaf/basic/BasicListUI.java132
1 files changed, 132 insertions, 0 deletions
diff --git a/libjava/javax/swing/plaf/basic/BasicListUI.java b/libjava/javax/swing/plaf/basic/BasicListUI.java
new file mode 100644
index 00000000000..abac5045031
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicListUI.java
@@ -0,0 +1,132 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.plaf.*;
+import javax.swing.*;
+import java.awt.*;
+
+
+public class BasicListUI extends ListUI
+{
+ int gap_between_cells;
+ Color textColor, disabledTextColor, pressedBackgroundColor, normalBackgroundColor;
+
+
+ public static ComponentUI createUI(final JComponent c)
+ {
+ return new BasicButtonUI();
+ }
+
+
+ public void installUI(final JComponent c)
+ {
+ super.installUI(c);
+
+ textColor = new Color(0,0,0);
+ disabledTextColor = new Color(130, 130, 130);
+ pressedBackgroundColor = new Color(150,150,150);
+ normalBackgroundColor = new Color(192,192,192);
+ }
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ JList l = (JList) c;
+
+ System.out.println("XXXXXXXXXXXXXXXxx getPreferredSize------------> " + l);
+
+
+ int rows = l.getVisibleRowCount();
+
+ ListCellRenderer render = l.getCellRenderer();
+
+ int width = 200;
+ int height = rows * 16;
+
+ if (l.getModel().getSize() == 0)
+ {
+ return new Dimension(width, height);
+ }
+
+ System.out.println("BASIC_LIST_UI ====-> " + l.getModel().getElementAt(0));
+
+ Component elt = render.getListCellRendererComponent(l,
+ l.getModel().getElementAt(0),
+ 0,
+ false,
+ false);
+ Dimension a = elt.getPreferredSize();
+ if (a == null)
+ {
+ return new Dimension(width, height);
+ }
+
+ return new Dimension(a.width,
+ a.height * rows);
+ }
+
+ public void paintBackground(Graphics g,
+ JComponent c)
+ {
+ Dimension size = getPreferredSize(c);
+
+ g.setColor(normalBackgroundColor);
+ g.fillRect(0,0,size.width, size.height);
+ }
+
+ public void paint(Graphics g,
+ JComponent c)
+ {
+ JList l = (JList) c;
+
+ int rows = l.getVisibleRowCount();
+
+ ListCellRenderer render = l.getCellRenderer();
+
+ System.out.println("RENDER-JLIST: " + rows + ", " + l.getModel().getSize());
+
+ paintBackground(g, c);
+
+ if (l.getModel().getSize() == 0)
+ return;
+
+ // use element 0 to figure out how big we are:
+ Component elt = render.getListCellRendererComponent(l,
+ l.getModel().getElementAt(0),
+ 0,
+ false,
+ false);
+ Dimension dim = elt.getPreferredSize();
+
+ Rectangle a = new Rectangle(0,
+ 0,
+ dim.width,
+ dim.height);
+
+ for (int i=0;i<l.getModel().getSize();i++)
+ {
+ boolean is_sel = false;
+ boolean has_focus = false;
+
+ Component comp = render.getListCellRendererComponent(l,
+ l.getModel().getElementAt(i),
+ i,
+ is_sel,
+ has_focus);
+
+ //System.out.println("AAAAA=> " + a + ", " + comp + ", index = " + i);
+
+ comp.setBounds(a);
+
+ comp.paint(g);
+
+ a.y += dim.height + gap_between_cells;
+ }
+ }
+}
+
+
+
+
+
+
+
+
OpenPOWER on IntegriCloud