/** * Constructs cell renderer for the specified file list. * * @param fileList file list in which this cell renderer is used */ public WebFileListCellRenderer(final WebFileList fileList) { super(); this.fileList = fileList; iconLabel = new WebLabel(); iconLabel.setHorizontalAlignment(JLabel.CENTER); iconLabel.setPreferredSize(new Dimension(imageSide, imageSide)); nameLabel = new WebLabel(); nameLabel.setFont(nameLabel.getFont().deriveFont(Font.PLAIN)); nameLabel.setForeground(Color.BLACK); nameLabel.setVerticalAlignment(JLabel.CENTER); descriptionLabel = new WebLabel(WebLabel.LEADING); descriptionLabel.setFont(descriptionLabel.getFont().deriveFont(Font.PLAIN)); descriptionLabel.setForeground(Color.GRAY); sizeLabel = new WebLabel(WebLabel.LEADING); sizeLabel.setFont(sizeLabel.getFont().deriveFont(Font.PLAIN)); sizeLabel.setForeground(new Color(49, 77, 179)); setLayout(new FileCellLayout()); add(iconLabel); add(nameLabel); add(descriptionLabel); add(sizeLabel); fileList.addPropertyChangeListener( WebLookAndFeel.COMPONENT_ENABLED_PROPERTY, new PropertyChangeListener() { @Override public void propertyChange(final PropertyChangeEvent evt) { final boolean enabled = fileList.isEnabled(); iconLabel.setEnabled(enabled); nameLabel.setEnabled(enabled); descriptionLabel.setEnabled(enabled); sizeLabel.setEnabled(enabled); } }); fileList.addPropertyChangeListener( WebLookAndFeel.COMPONENT_ORIENTATION_PROPERTY, new PropertyChangeListener() { @Override public void propertyChange(final PropertyChangeEvent evt) { final ComponentOrientation orientation = fileList.getComponentOrientation(); nameLabel.setComponentOrientation(orientation); descriptionLabel.setComponentOrientation(orientation); sizeLabel.setComponentOrientation(orientation); } }); updateFilesView(); }