All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.alee.laf.list.IListPainter Maven / Gradle / Ivy

package com.alee.laf.list;

import com.alee.painter.SpecificPainter;

import javax.swing.*;

/**
 * Base interface for {@link JList} component painters.
 *
 * @param  component type
 * @param  component UI type
 * @author Alexandr Zernov
 */

public interface IListPainter extends SpecificPainter
{
    /**
     * Returns whether or not item hover decoration is supported by this list painter.
     * This
     *
     * @return {@code true} if item hover decoration is supported by this list painter, {@code false} otherwise
     */
    public boolean isItemHoverDecorationSupported ();

    /**
     * Prepares painter to pain list.
     *
     * @param layoutOrientation cached layout orientation
     * @param listHeight        cached list height
     * @param listWidth         cached list width
     * @param columnCount       cached column count
     * @param rowsPerColumn     cached rows per column amount
     * @param preferredHeight   cached preferred height
     * @param cellWidth         cached cell width
     * @param cellHeight        cached cell height
     * @param cellHeights       cached cell heights
     */
    public void prepareToPaint ( Integer layoutOrientation, Integer listHeight, Integer listWidth, Integer columnCount,
                                 Integer rowsPerColumn, Integer preferredHeight, int cellWidth, int cellHeight, int[] cellHeights );
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy