EarthWeb
Developer.com
Site
windows 2000
visual c++
java
visual basic
javascripts
recommend it
 
Book
thinking in java
 
Interact
forum
guest book
jobs
jokes
what's new

share code
 
Resource
add resource
modify resource
new resource
 

[Internet Jobs]
-----
Java by E-mail:

Get the weekly e-mail highlights on Java!
-----

-

Use images in a JList


Author: Real Gagnon
Author's WebSite: http://tactika.com/realhome/realhome.html


import com.sun.java.swing.*;
 // import javax.swing.*;
 import java.awt.*;
 import java.util.*;

 public class JListWithImages extends JList {

  public JListWithImages() { 
    setCellRenderer(new CustomCellRenderer()); 
    }

  public static void main(String[] args) {
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();
    Vector vector = new Vector();
    panel.setForeground(Color.black);
    panel.setBackground(Color.white);

    // first line
    JPanel jp1 = new JPanel();
    jp1.add(new JLabel(new ImageIcon("gumby.gif")));
    jp1.add(new JLabel("A line for Gumby"));
    jp1.add(new JLabel(new ImageIcon("gumby2.gif")));

    // second line
    JPanel jp2 = new JPanel();
    jp2.add(new JLabel(new ImageIcon("gumby.gif")));
    jp2.add(new JLabel("Another line for Gumby"));
    jp2.add(new JLabel(new ImageIcon("gumby2.gif")));

    vector.addElement(jp1);
    vector.addElement(jp2);

    JListWithImages jlwi = new JListWithImages();
    jlwi.setListData(vector);

    panel.add(jlwi);
    frame.getContentPane().add(panel);
    frame.setSize(300,300);
    frame.setVisible(true);
    }

  class CustomCellRenderer implements ListCellRenderer {
    public Component getListCellRendererComponent
     (JList list, Object value, int index, 
      boolean isSelected,boolean cellHasFocus) {
      Component component = (Component)value;
      component.setBackground
       (isSelected ? Color.black : Color.white);
      component.setForeground
       (isSelected ? Color.white : Color.black);
      return component;
      }
    }
 }



Posted On: 5-Jul-1999

internet.commerce