import java.awt.event.*;
import javax.swing.*;
import java.util.*;
{
public JListFrame(String title)
{
super(title);
setSize(300,200);
//獲得容器
Container container=this.getContentPane();
container.setLayout(new GridLayout(2,2));
//面板一:通過Array對象建立JList組件
JPanel panel1=new JPanel();
String [] str={"柳真","全知賢","宋慧喬","王祖賢","張國榮","李英宰"};
JList list1=new JList(str);
//設置選擇選項的模式
list1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
//設置JList的標題
list1.setBorder(BorderFactory.createTitledBorder("你最喜歡的明星是哪個??"));
//建立滾動條效果
container.add(new JScrollPane(list1));
//面板二:通過Vector對象建立JList組件
JPanel panel2=new JPanel();
Vector v=new Vector();
v.addElement("反恐精英");
v.addElement("魔獸爭霸");
v.addElement("極品飛車");
v.addElement("魔獸世界");
v.addElement("其它");
JList list2=new JList(v);
list2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list2.setBorder(BorderFactory.createTitledBorder("你最喜歡的遊戲是哪個??"));
panel2.add(list2);
container.add(new JScrollPane(list2));
//面板三;通過ListModel 建立JList組件
JPanel panel3=new JPanel();
DataModel mode=new DataModel(2);
JList list3=new JList(mode);
list3.setBorder(BorderFactory.createTitledBorder("你能看到的用戶組"));
panel3.add(list3);
container.add(new JScrollPane(list3));
//面板四:建立帶有圖像的JList組件
JPanel panel4=new JPanel();
String [] chater={"頭像一","頭像二","頭像三","頭像四"};
JList list4=new JList(chater);
// list4.setBorder(BorderFactory.createTitledBorder("你最喜歡的遊戲是哪個??"));
list4.setCellRenderer(new CellRenderer());
panel4.add(list4);
container.add(new JScrollPane(list4));
}
class DataModel extends AbstractListModel
{
String [] user={"會員一","會員二","會員三","會員四","會員五",
"普通用戶一","普通用戶二","普通用戶三","普通用戶四"
};
int flag=0;
DataModel(int f)
{
flag=f;
}
public Object getElementAt(int index)
{
String temp=null;
if(flag==1)
temp=(index+1)+"."+user[index++];
if(flag==2)
{
if(index<5)
temp=(index+1)+"."+user[index++];
}
return temp;
}
public int getSize()
{
return user.length;
}
}
class CellRenderer extends JLabel implements ListCellRenderer
{
CellRenderer()
{
setOpaque(true);
}
public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus)
{
if(value!=null)
{
setText(value.toString());
setIcon(new ImageIcon("E://Java//JCreator2.5//picture//"+(index+1)+".gif"));
}
if(isSelected)
{
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
}
else
{
setBackground(list.getBackground());
setForeground(list.getForeground());
}
return this;
}
}
}
public class JListDemo
{
public static void main(String[] args) throws Exception
{
JListFrame frame=new JListFrame("JListDemo");
// frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}