package com.quiltplayer.view.swing.panels; import java.awt.Color; import java.util.List; import javax.swing.JPanel; import net.miginfocom.swing.MigLayout; import com.quiltplayer.model.Artist; import com.quiltplayer.view.swing.FontFactory; import com.quiltplayer.view.swing.labels.ArtistNameButton; import com.quiltplayer.view.swing.labels.StringOrCharLabel; import com.quiltplayer.view.swing.listeners.ArtistListener; public class AlfabeticArtistPane extends JPanel { private static final long serialVersionUID = 1L; private String character; private ArtistListener artistListener; public AlfabeticArtistPane() { super(new MigLayout("insets 0, wrap 1, fill")); setOpaque(false); } public void setup(final String character, final List<Artist> artists) { this.character = character; add(new StringOrCharLabel(character), "h 1cm, push, grow, north"); for (final Artist artist : artists) { final ArtistNameButton button = new ArtistNameButton(artist, artistListener); button.setFont(FontFactory.getFont(16f)); add(button, "h 0.65cm, dock north, left, gapy 1px"); } } public void setActive() { setForeground(Color.WHITE); } public void setSelected() { if (getForeground() != Color.WHITE) { setForeground(Color.LIGHT_GRAY); } } public void setInactive() { setForeground(Color.DARK_GRAY); } public void setInactive2() { if (getForeground() != Color.WHITE) { setForeground(Color.DARK_GRAY); } } public String getCharacter() { return character; } public void addActionListener(ArtistListener artistListener) { this.artistListener = artistListener; } }