Проблема в следующем:
Есть JList и в нём в качестве элементов помещаются картинки (небольшие превьюшки). Основной вопрос в отображении элементов списка. При задании собственного ListCellRenderer'a и реализации методов
public class PhotoListCellRenderer extends JPanel implements ListCellRenderer{
public Component getListCellRendererComponent(
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus){
// ......
photo = (BufferedImage) value;
}
public void paintComponent(Graphics g){
g.drawImage(photo, 0, 0,
this.getWidth(),
this.getHeight(), null);
Картинки отображаются, но ширина/высота ячеек такая как будто там отображаются строчки текста (т.е. высота очень маленькая примерно 9 кегль стандартного шрифта).
Если же задать фиксированно в объекту класса JList'а
photoList.setFixedCellHeight(someHeightInt);
photoList.setFixedCellWidth(someWidthInt);
то ячейки отображаются нормально. Вопрос в следующем что нужно допереопределить (ну или так: что нужно вообще) для того что размер вычислялся нормально автоматически (при отображении компонента)?