import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
class MyCellRenderer extends DefaultListCellRenderer {
public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus){ super.getListCellRendererComponent(list,value,index,isSelected,cellHasFocus);
ListData data=(ListData) value;
setText(data.forDisplay()); //only disply ListData.s
return this;
}
}//list data
class ListData{
int hideNum;
String s;
public ListData(int i, String s){
hideNum=i;
this.s=s;
}
public int getHideNum(){ return hideNum;}
public String forDisplay(){ return s;}
}
public class Test extends JFrame{
JList list=new JList();
public Test(){
super("test");
ListData[] data = {new ListData(1,"one"), new ListData(2,"two"),
new ListData(3,"three"), new ListData(4,"four")};
list.setListData(data);
list.setCellRenderer(new MyCellRenderer());
list.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int index = list.locationToIndex(e.getPoint());
if(index!=-1){ //valid selection
Object selection=list.getSelectedValue();
int num=((ListData) selection).getHideNum(); //get ListData.hideNum
System.out.println("Hide numbers :"+num);
}
}
}); getContentPane().add(list);
}
public static void main(String[] args){
Test app=new Test();
app.pack();
app.show();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
class MyCellRenderer extends DefaultListCellRenderer {
public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus){ super.getListCellRendererComponent(list,value,index,isSelected,cellHasFocus);
ListData data=(ListData) value;
setText(data.forDisplay()); //only disply ListData.s
return this;
}
}//list data
class ListData{
int hideNum;
String s;
public ListData(int i, String s){
hideNum=i;
this.s=s;
}
public int getHideNum(){ return hideNum;}
public String forDisplay(){ return s;}
}
public class Test extends JFrame{
JList list=new JList();
public Test(){
super("test");
ListData[] data = {new ListData(1,"one"), new ListData(2,"two"),
new ListData(3,"three"), new ListData(4,"four")};
list.setListData(data);
list.setCellRenderer(new MyCellRenderer());
list.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int index = list.locationToIndex(e.getPoint());
if(index!=-1){ //valid selection
Object selection=list.getSelectedValue();
int num=((ListData) selection).getHideNum(); //get ListData.hideNum
System.out.println("Hide numbers :"+num);
}
}
}); getContentPane().add(list);
}
public static void main(String[] args){
Test app=new Test();
app.pack();
app.show();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
{ public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
{ super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
JListData data = (JListData) value;
setText(data.display()); //only disply ListData.s
return this;
}}