/* * JavaXYQ Engine * * javaxyq@2008 all rights. * http://www.javaxyq.com */ package com.javaxyq.tools; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; import javax.swing.ImageIcon; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.ListCellRenderer; import com.jidesoft.list.ImagePreviewList; import com.jidesoft.list.ImagePreviewPanel; import com.jidesoft.list.ImagePreviewList.PreviewImageIcon; import com.jidesoft.swing.JideSwingUtilities; /** * @author ����ΰ * @history 2008-7-8 ����ΰ �½� */ public class FileObjectPreviewPanel extends ImagePreviewPanel implements ListCellRenderer { private static final int X_AIXS = 0; private static final int Y_AIXS = 1; private int orientation = Y_AIXS; private JPanel cover = new JPanel(new BorderLayout(2, 2)); public FileObjectPreviewPanel(int orientation) { this.orientation = orientation; } public FileObjectPreviewPanel() { } public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { ImagePreviewList imagepreviewlist = (ImagePreviewList) list; setHighlightBackground(imagepreviewlist.getHighlightBackground()); setGridBackground(imagepreviewlist.getGridBackground()); setGridForground(imagepreviewlist.getGridForground()); cover.setForeground(imagepreviewlist.getGridForground()); // setGridForeground(imagepreviewlist.getGridForeground()); // cover.setForeground(imagepreviewlist.getGridForeground()); cover.setBackground(imagepreviewlist.getGridBackground()); PreviewImageIcon previewImageIcon = (PreviewImageIcon) value; ImageIcon icon = previewImageIcon.getImageIcon(); String title = previewImageIcon.getTitle(); Dimension size = previewImageIcon.getSize(); String description = previewImageIcon.getDescription(); int showDetails = imagepreviewlist.getShowDetails(); return createPanel(title, icon, size, description, showDetails, isSelected, cellHasFocus); } private JComponent createPanel(String title, ImageIcon imageicon, Dimension dimension, String description, int showDetails, boolean selected, boolean focus) { setImageTitle(title); setImageDescription(description); setIcon(imageicon); setImageSize(dimension); setShowDetails(showDetails); setSelected(selected); setFocused(focus); if (orientation == Y_AIXS) { //JComponent detailsPanel = this.createDetailsPanel(); JComponent detailsPanel = new JLabel(title, JLabel.CENTER); detailsPanel.setPreferredSize(new Dimension(100, 20)); this.setShowDetails(ImagePreviewList.SHOW_NONE); JideSwingUtilities.setOpaqueRecursively(detailsPanel, false); // this.setLayout(new BorderLayout(2,2)); this.add(detailsPanel, BorderLayout.SOUTH); } return this; } public int getOrientation() { return orientation; } public void setOrientation(int orientation) { this.orientation = orientation; } }