Ciao a tutti,
sono nuovo del forum è questa è la mia prima domanda (spero non sia troppo stupida).
Ho creato una classe che implementa la ListCellRenderer che estende la CheckBox in modo da dinamicamente una lista di oggetti rappresentati da una CheckBox ma quest'ultima non è selezionabile anche se risulta attiva.
Di seguito un codice di esempio dove ho utilizzato per comodità una lista di oggetti di tipo String anche se nel mio codice sarà una lista di oggetti creati da me:
import javax.swing.*;
import java.awt.*;
public class CellRendererDemo extends JCheckBox implements ListCellRenderer {
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
boolean cellHasFocus)
{
String s = (String)value;
this.setText(s);
// TODO Auto-generated method stub
return this;
}
public static void main(String[] args) {
String[] s = {"a","b","c"};
JFrame frame = new JFrame();
frame.setTitle("Prova CheckBox");
frame.setSize(400,130);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JList<String> list = new JList<String>();
list.setCellRenderer(new CellRendererDemo());
DefaultListModel<String> listModel = new DefaultListModel<String>();
for(int i=0;i<s.length;i++)
listModel.addElement(s[i]);
list.setModel(listModel);
frame.getContentPane().add(list,BorderLayout.CENTER);
frame.setVisible(true);
}
}
Grazie in anticipo per l'aiuto, ciao.