Отображение рисунков в JList.
От: Zelgadis Россия  
Дата: 24.10.06 18:29
Оценка:
Проблема в следующем:
Есть 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);


то ячейки отображаются нормально. Вопрос в следующем что нужно допереопределить (ну или так: что нужно вообще) для того что размер вычислялся нормально автоматически (при отображении компонента)?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.