Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2009-2011, EzWare
   * All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * Redistributions of source code must retain the above copyright notice,
  * this list of conditions and the following disclaimer.Redistributions
  * in binary form must reproduce the above copyright notice, this list of
  * conditions and the following disclaimer in the documentation and/or
  * other materials provided with the distribution.Neither the name of the
  * EzWare nor the names of its contributors may be used to endorse or
  * promote products derived from this software without specific prior
  * written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
  */
 
 package org.oxbow.swingbits.list;
 
 import java.awt.Color;
 
 
 public class CheckListRenderer extends JCheckBox implements ListCellRendererSerializable {
 
 	private static final long serialVersionUID = 1L;
 
 	private static final Border NO_FOCUS_BORDER      = new EmptyBorder(1, 1, 1, 1);
 	private static final Border SAFE_NO_FOCUS_BORDER = // may change in the feature
 
Constructs a default renderer object for an item in a list.
 
 	public CheckListRenderer() {
 		super();
 		setOpaque(true);
 	}
 
 	private static Border getNoFocusBorder() {
 		if (System.getSecurityManager() != null) {
 		} else {
 			return ;
 		}
 	}
 
 	public Component getListCellRendererComponent(JList listObject valueint indexboolean isSelected,
 			boolean cellHasFocus) {
 
 
 		Color bg = null;
 		Color fg = null;
 
 		JList.DropLocation dropLocation = list.getDropLocation();
 		if (dropLocation != null && !dropLocation.isInsert() && dropLocation.getIndex() == index) {
 
 			bg = UIManager.getColor("List.dropCellBackground");
 			fg = UIManager.getColor("List.dropCellForeground");
 
 			isSelected = true;
 		}
 
 		if (isSelected) {
 			setBackground(bg == null ? list.getSelectionBackground() : bg);
 			setForeground(fg == null ? list.getSelectionForeground() : fg);
 		} else {
 		}
 
 		if (value instanceof Icon) {
 			setIcon((Iconvalue);
 			setText("");
else {
			setIcon(null);
		}
		setSelectedisChecked(listindex));
		Border border = null;
		if (cellHasFocus) {
			if (isSelected) {
				border = UIManager.getBorder("List.focusSelectedCellHighlightBorder");
			}
			if (border == null) {
				border = UIManager.getBorder("List.focusCellHighlightBorder");
			}
else {
			border = getNoFocusBorder();
		}
		setBorder(border);
		return this;
	}
	protected String getObjectAsText(Object obj) {
		return (obj == null) ? "" : obj.toString();
	}
	private boolean isChecked(JList listint index) {
		if (list.getModel() instanceof ICheckListModel<?>) {
			return ((ICheckListModel<?>) list.getModel()).isCheckedIndex(index);
else {
			return false;
		}
	}

Returns:
true if the background is opaque and differs from the JList's background; false otherwise
	public boolean isOpaque() {
		Color back = getBackground();
		if (p != null) {
			p = p.getParent();
		}
		// p should now be the JList.
		boolean colorMatch = (back != null) && (p != null) && back.equals(p.getBackground()) && p.isOpaque();
		return !colorMatch && super.isOpaque();
	}
	protected void firePropertyChange(String propertyNameObject oldValueObject newValue) {
		if ("text".equals(propertyName) || 
		   (("font".equals(propertyName) || "foreground".equals(propertyName)) && 
		     oldValue != newValue && getClientProperty(.....) != null)) {
			super.firePropertyChange(propertyNameoldValuenewValue);
		}
	}
	// Methods below are overridden for performance reasons.
	public void validate() {
	}
	public void invalidate() {
	}
	public void repaint() {
	}
	public void revalidate() {
	}
	public void repaint(long tmint xint yint widthint height) {
	}
	public void repaint(Rectangle r) {
	}
	public void firePropertyChange(String propertyNamebyte oldValuebyte newValue) {
	}
	public void firePropertyChange(String propertyNamechar oldValuechar newValue) {
	}
	public void firePropertyChange(String propertyNameshort oldValueshort newValue) {
	}
	public void firePropertyChange(String propertyNameint oldValueint newValue) {
	}
	public void firePropertyChange(String propertyNamelong oldValuelong newValue) {
	}
	public void firePropertyChange(String propertyNamefloat oldValuefloat newValue) {
	}
	public void firePropertyChange(String propertyNamedouble oldValuedouble newValue) {
	}
	public void firePropertyChange(String propertyNameboolean oldValueboolean newValue) {
	}
	public static class UIResource extends DefaultListCellRenderer implements javax.swing.plaf.UIResource {
	}