Я новичок, только что присоединился к этому замечательному сообществу. Я должен признать, что это лучший сайт для программирования вопросов и ответов. Теперь позвольте мне перейти к сути:
Я пытаюсь создать JList, где я могу вводить строки с разными цветами шрифта, взятые из ColorChooser. Я уже пробовал что-то, как описано ниже
Заранее спасибо за любые ответы.
С наилучшими пожеланиями,
DWC
Вот мой пример кода:
class CustomObject
{
String s;
Color color;
String scolor;
public CustomObject(Color color, String s)
{
this.s = s;
this.color = color;
}
public String getColor()
{
return scolor = Integer.toString(color.getRGB());
}
public String getData()
{
return s;
}
@Override
public String toString()
{
return s + color.getRGB();
}
}
class myListRenderer extends DefaultListCellRenderer
{
Color color;
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
{
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (value != null)
{
CustomObject o = (CustomObject)value;
setText(o.getData());
color = new Color(Integer.parseInt(o.getColor()));
setForeground(color);
}
return this;
}
}
Моя главная проблема в том, что я получаю ошибку:
java.lang.ClassCastException: java.lang.String cannot be cast to app.CustomObject
в строке:
CustomObject o = (CustomObject)value;