3
나는 어떤 종류의 파일 선택기를 위해 커스텀 jlist 셀 렌더러를 쓰고있다. 내 문제는 내 ImageIcon을 읽을 때 치수가 (-1, -1) 것으로 보이므로 적절하게 크기를 조정할 수 없다는 것입니다. 그림은 간단한 질감 (목재, 금속 등)입니다. 그런 다음 이미지 대신 JPanel을 추가 한 다음 이미지를 패널에 추가하면 이미지의 크기를 조정해야 할 필요도 없다고 생각했습니다. 그들이 차원 -1을 해달라고 있도록JLabel 안에 JPanel을 삽입하려면 어떻게해야합니까?
- 하드 드라이브에서 이미지 아이콘을 읽고 -1
- JLabel의 내부 JPanel에 삽입 : 나는이 가능성을 가지고있다.
여기 내 목록 셀의 미리보기입니다.
다음은 세포에 아이콘을 추가 내 사용자 정의 렌더러입니다.
class IconListRenderer extends DefaultListCellRenderer {
private Map<Object, Icon> icons = null;
public IconListRenderer(Map<Object, Icon> icons) {
this.icons = icons;
}
@Override
public Component getListCellRendererComponent(
JList list, Object value, int index,
boolean isSelected, boolean cellHasFocus) {
// Get the renderer component from parent class
JLabel label =
(JLabel) super.getListCellRendererComponent(list,
value, index, isSelected, cellHasFocus);
ImageIcon icon = (ImageIcon)icons.get(value);
// Set icon to display for value
label.setIcon(icon);
label.setText(value.toString());
return label;
}
}
사실 실제로 문제가 무엇인지 이해하지 못합니다 : 렌더러의 크기가 축소되었거나 오른쪽의 미리보기에서 크기가 조정 되었습니까? – kleopatra