diff --git a/src/main/java/forge/deck/DeckgenUtil.java b/src/main/java/forge/deck/DeckgenUtil.java index 8723de66958..4e80eb76738 100644 --- a/src/main/java/forge/deck/DeckgenUtil.java +++ b/src/main/java/forge/deck/DeckgenUtil.java @@ -57,19 +57,19 @@ public class DeckgenUtil { * @param selection {@link java.lang.String} array * @return {@link forge.deck.Deck} */ - public static Deck buildColorDeck(final String[] selection, boolean forAi) { + public static Deck buildColorDeck(List selection, boolean forAi) { final Deck deck; String deckName = null; GenerateColoredDeckBase gen = null; - if (selection.length == 1) { - gen = new GenerateMonoColorDeck(selection[0]); - } else if (selection.length == 2) { - gen = new Generate2ColorDeck(selection[0], selection[1]); - } else if (selection.length == 3) { - gen = new Generate3ColorDeck(selection[0], selection[1], selection[2]); + if (selection.size() == 1) { + gen = new GenerateMonoColorDeck(selection.get(0)); + } else if (selection.size() == 2) { + gen = new Generate2ColorDeck(selection.get(0), selection.get(1)); + } else if (selection.size() == 3) { + gen = new Generate3ColorDeck(selection.get(0), selection.get(1), selection.get(2)); } else { gen = new Generate5ColorDeck(); deckName = "5 colors"; @@ -91,10 +91,10 @@ public class DeckgenUtil { * @param selection {@link java.lang.String} * @return {@link forge.deck.Deck} */ - public static Deck buildThemeDeck(final String[] selection) { + public static Deck buildThemeDeck(final String selection) { final GenerateThemeDeck gen = new GenerateThemeDeck(); final Deck deck = new Deck(); - deck.getMain().addAll(gen.getThemeDeck(selection[0], 60)); + deck.getMain().addAll(gen.getThemeDeck(selection, 60)); return deck; } @@ -105,12 +105,12 @@ public class DeckgenUtil { * @param selection {java.lang.String} * @return {@link forge.deck.Deck} */ - public static Deck getConstructedDeck(final String[] selection) { - return Singletons.getModel().getDecks().getConstructed().get(selection[0]); + public static Deck getConstructedDeck(final String selection) { + return Singletons.getModel().getDecks().getConstructed().get(selection); } - public static Deck getPreconDeck(String[] selection) { - return QuestController.getPrecons().get(selection[0]).getDeck(); + public static Deck getPreconDeck(String selection) { + return QuestController.getPrecons().get(selection).getDeck(); } public static QuestEvent getQuestEvent(final String name) { @@ -130,10 +130,10 @@ public class DeckgenUtil { public static Deck getRandomColorDeck(boolean forAi) { final int[] colorCount = new int[] {1, 2, 3, 5}; final int count = colorCount[MyRandom.getRandom().nextInt(colorCount.length)]; - final String[] selection = new String[count]; + final List selection = new ArrayList(); // A simulated selection of "random 1" will trigger the AI selection process. - for (int i = 0; i < count; i++) { selection[i] = "Random 1"; } + for (int i = 0; i < count; i++) { selection.add("Random"); } return DeckgenUtil.buildColorDeck(selection, forAi); } @@ -143,7 +143,7 @@ public class DeckgenUtil { final List themeNames = new ArrayList(); for (final String s : GenerateThemeDeck.getThemeNames()) { themeNames.add(s); } final int rand = (int) (Math.floor(Math.random() * themeNames.size())); - return DeckgenUtil.buildThemeDeck(new String[] {themeNames.get(rand)}); + return DeckgenUtil.buildThemeDeck(themeNames.get(rand)); } /** @return {@link forge.deck.Deck} */ @@ -201,7 +201,7 @@ public class DeckgenUtil { } /** @param lst0 {@link javax.swing.JList} */ - public static void randomSelect(final JList lst0) { + public static void randomSelect(final JList lst0) { final int size = lst0.getModel().getSize(); if (size > 0) { @@ -216,7 +216,7 @@ public class DeckgenUtil { /** Shows decklist dialog for a given deck. * @param lst0 {@link javax.swing.JList} */ - public static void showDecklist(final JList lst0) { + public static void showDecklist(final JList lst0) { final String deckName = lst0.getSelectedValue().toString(); final Deck deck; @@ -281,17 +281,17 @@ public class DeckgenUtil { * @param colors0 String[] * @return boolean */ - public static boolean colorCheck(final String[] colors0) { + public static boolean colorCheck(final List colors0) { boolean result = true; - if (colors0.length == 4) { + if (colors0.size() == 4) { JOptionPane.showMessageDialog(null, "Sorry, four color generated decks aren't supported yet." + "\n\rPlease use 2, 3, or 5 colors for this deck.", "Generate deck: 4 colors", JOptionPane.ERROR_MESSAGE); result = false; } - else if (colors0.length > 5) { + else if (colors0.size() > 5) { JOptionPane.showMessageDialog(null, "Generate deck: maximum five colors!", "Generate deck: too many colors", JOptionPane.ERROR_MESSAGE); diff --git a/src/main/java/forge/gui/CardListViewer.java b/src/main/java/forge/gui/CardListViewer.java index 238af12b1a3..af3950fa3db 100644 --- a/src/main/java/forge/gui/CardListViewer.java +++ b/src/main/java/forge/gui/CardListViewer.java @@ -57,7 +57,7 @@ public class CardListViewer { // Flag: was the dialog already shown? private boolean called; // initialized before; listeners may be added to it - private final JList jList; + private final JList jList; private final CardDetailPanel detail; private final CardPicturePanel picture; @@ -107,7 +107,7 @@ public class CardListViewer { public CardListViewer(final String title, final String message, final List list, final Icon dialogIcon) { this.title = title; this.list = Collections.unmodifiableList(list); - this.jList = new JList(new ChooserListModel()); + this.jList = new JList(new ChooserListModel()); this.detail = new CardDetailPanel(null); this.picture = new CardPicturePanel(); this.ok = new CloseAction(JOptionPane.OK_OPTION, "OK"); @@ -150,7 +150,7 @@ public class CardListViewer { return true; } - private class ChooserListModel extends AbstractListModel { + private class ChooserListModel extends AbstractListModel { private static final long serialVersionUID = 3871965346333840556L; @@ -160,7 +160,7 @@ public class CardListViewer { } @Override - public Object getElementAt(final int index) { + public PaperCard getElementAt(final int index) { return CardListViewer.this.list.get(index); } } diff --git a/src/main/java/forge/gui/DualListBox.java b/src/main/java/forge/gui/DualListBox.java index 5c8bb3cf6b9..01cad7c9fba 100644 --- a/src/main/java/forge/gui/DualListBox.java +++ b/src/main/java/forge/gui/DualListBox.java @@ -47,10 +47,10 @@ import forge.item.IPaperCard; @SuppressWarnings("serial") public class DualListBox extends FPanel { - private final FList sourceList; + private final FList sourceList; private final UnsortedListModel sourceListModel; - private final FList destList; + private final FList destList; private final UnsortedListModel destListModel; private final FButton addButton; @@ -71,9 +71,9 @@ public class DualListBox extends FPanel { public DualListBox(int remainingSources, List sourceElements, List destElements ) { targetRemainingSources = remainingSources; sourceListModel = new UnsortedListModel(); - sourceList = new FList(sourceListModel); + sourceList = new FList(sourceListModel); destListModel = new UnsortedListModel(); - destList = new FList(destListModel); + destList = new FList(destListModel); setPreferredSize(new Dimension(650, 300)); setLayout(new GridLayout(0, 3)); @@ -85,7 +85,7 @@ public class DualListBox extends FPanel { @Override public void run() { List selected = new ArrayList(); - for (Object item : sourceList.getSelectedValues()) { + for (Object item : sourceList.getSelectedValuesList()) { selected.add((T)item); } addDestinationElements(selected); @@ -100,7 +100,7 @@ public class DualListBox extends FPanel { @Override public void run() { List selected = new ArrayList(); - for (Object item : destList.getSelectedValues()) { + for (Object item : destList.getSelectedValuesList()) { selected.add((T)item); } clearDestinationSelected(); @@ -217,7 +217,7 @@ public class DualListBox extends FPanel { } } - private void _handleListKey (KeyEvent e, Runnable onSpace, FList arrowFocusTarget) { + private void _handleListKey (KeyEvent e, Runnable onSpace, FList arrowFocusTarget) { switch (e.getKeyCode()) { case KeyEvent.VK_SPACE: onSpace.run(); @@ -249,11 +249,11 @@ public class DualListBox extends FPanel { destListModel.clear(); } - public void addSourceElements(ListModel newValue) { + public void addSourceElements(ListModel newValue) { fillListModel(sourceListModel, newValue); } - public void setSourceElements(ListModel newValue) { + public void setSourceElements(ListModel newValue) { clearSourceListModel(); addSourceElements(newValue); } @@ -262,11 +262,11 @@ public class DualListBox extends FPanel { fillListModel(destListModel, newValue); } - public void addDestinationElements(ListModel newValue) { + public void addDestinationElements(ListModel newValue) { fillListModel(destListModel, newValue); } - private void fillListModel(UnsortedListModel model, ListModel newValues) { + private void fillListModel(UnsortedListModel model, ListModel newValues) { model.addAll(newValues); } @@ -326,7 +326,7 @@ public class DualListBox extends FPanel { } } - private void _addListListeners(final FList list) { + private void _addListListeners(final FList list) { list.getModel().addListDataListener(new ListDataListener() { int callCount = 0; @Override @@ -342,7 +342,7 @@ public class DualListBox extends FPanel { return; } - ListModel model = list.getModel(); + ListModel model = list.getModel(); if (0 == model.getSize()) { // nothing left to show return; diff --git a/src/main/java/forge/gui/GuiChoose.java b/src/main/java/forge/gui/GuiChoose.java index 01cc7c0e7c4..8acb09edef0 100644 --- a/src/main/java/forge/gui/GuiChoose.java +++ b/src/main/java/forge/gui/GuiChoose.java @@ -114,7 +114,7 @@ public class GuiChoose { @Override public List call() { ListChooser c = new ListChooser(message, min, max, choices); - final JList list = c.getJList(); + final JList list = c.getJList(); list.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(final ListSelectionEvent ev) { diff --git a/src/main/java/forge/gui/ImportDialog.java b/src/main/java/forge/gui/ImportDialog.java index bff6f66c716..26531b4eb1b 100644 --- a/src/main/java/forge/gui/ImportDialog.java +++ b/src/main/java/forge/gui/ImportDialog.java @@ -307,7 +307,7 @@ public class ImportDialog { private final Runnable _onAnalyzerDone; private final boolean _isMigration; private final FLabel _unknownDeckLabel; - private final JComboBox _unknownDeckCombo; + private final JComboBox<_UnknownDeckChoice> _unknownDeckCombo; private final FCheckBox _moveCheckbox; private final FCheckBox _overwriteCheckbox; private final JTextArea _operationLog; @@ -340,7 +340,7 @@ public class ImportDialog { _addSelectionWidget(knownDeckPanel, OpType.UNKNOWN_DECK, "Unknown decks"); JPanel unknownDeckPanel = new JPanel(new MigLayout("insets 0, gap 5")); unknownDeckPanel.setOpaque(false); - _unknownDeckCombo = new JComboBox(); + _unknownDeckCombo = new JComboBox<_UnknownDeckChoice>(); _unknownDeckCombo.addItem(new _UnknownDeckChoice("Constructed", NewConstants.DECK_CONSTRUCTED_DIR)); _unknownDeckCombo.addItem(new _UnknownDeckChoice("Draft", NewConstants.DECK_DRAFT_DIR)); _unknownDeckCombo.addItem(new _UnknownDeckChoice("Planar", NewConstants.DECK_PLANE_DIR)); @@ -816,7 +816,7 @@ public class ImportDialog { private final boolean _move; private final boolean _overwrite; - public _Importer(String srcDir, Map>> selections, JComboBox unknownDeckCombo, + public _Importer(String srcDir, Map>> selections, JComboBox<_UnknownDeckChoice> unknownDeckCombo, JTextArea operationLog, JProgressBar progressBar, boolean move, boolean overwrite) { _srcDir = srcDir; _operationLog = operationLog; diff --git a/src/main/java/forge/gui/ListChooser.java b/src/main/java/forge/gui/ListChooser.java index a576157b1e3..7143bfeb187 100644 --- a/src/main/java/forge/gui/ListChooser.java +++ b/src/main/java/forge/gui/ListChooser.java @@ -23,7 +23,6 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowEvent; import java.awt.event.WindowFocusListener; -import java.util.AbstractList; import java.util.Collection; import java.util.List; @@ -79,7 +78,7 @@ public class ListChooser { // Flag: was the dialog already shown? private boolean called; // initialized before; listeners may be added to it - private JList jList; + private JList jList; // Temporarily stored for event handlers during show private JDialog dialog; private JOptionPane optionPane; @@ -91,7 +90,7 @@ public class ListChooser { this.minChoices = minChoices; this.maxChoices = maxChoices; this.list = list.getClass().isInstance(List.class) ? (List)list : Lists.newArrayList(list); - this.jList = new JList(new ChooserListModel()); + this.jList = new JList(new ChooserListModel()); this.ok = new CloseAction(JOptionPane.OK_OPTION, "OK"); this.ok.setEnabled(minChoices == 0); this.cancel = new CloseAction(JOptionPane.CANCEL_OPTION, "Cancel"); @@ -118,7 +117,7 @@ public class ListChooser { * * @return a {@link javax.swing.JList} object. */ - public JList getJList() { + public JList getJList() { return this.jList; } @@ -210,19 +209,7 @@ public class ListChooser { if (!this.called) { throw new IllegalStateException("not yet shown"); } - final Object[] selected = this.jList.getSelectedValues(); - return new AbstractList() { - @Override - public int size() { - return selected.length; - } - - @SuppressWarnings("unchecked") - @Override - public T get(final int index) { - return (T) selected[index]; - } - }; + return this.jList.getSelectedValuesList(); } /** @@ -242,7 +229,6 @@ public class ListChooser { * * @return a T object. */ - @SuppressWarnings("unchecked") public T getSelectedValue() { if (!this.called) { throw new IllegalStateException("not yet shown"); @@ -261,7 +247,7 @@ public class ListChooser { } } - private class ChooserListModel extends AbstractListModel { + private class ChooserListModel extends AbstractListModel { private static final long serialVersionUID = 3871965346333840556L; @@ -271,7 +257,7 @@ public class ListChooser { } @Override - public Object getElementAt(final int index) { + public T getElementAt(final int index) { return ListChooser.this.list.get(index); } } diff --git a/src/main/java/forge/gui/UnsortedListModel.java b/src/main/java/forge/gui/UnsortedListModel.java index bb0607d9748..abe158b9f04 100644 --- a/src/main/java/forge/gui/UnsortedListModel.java +++ b/src/main/java/forge/gui/UnsortedListModel.java @@ -10,7 +10,7 @@ import javax.swing.ListModel; @SuppressWarnings("serial") -public class UnsortedListModel extends AbstractListModel { // Java 7 has a generic version. In 6 we have to cast types +public class UnsortedListModel extends AbstractListModel { List model; public UnsortedListModel() { @@ -23,7 +23,7 @@ public class UnsortedListModel extends AbstractListModel { // Java 7 has a ge } @Override - public Object getElementAt(int index) { + public T getElementAt(int index) { return model.get(index); } @@ -50,8 +50,7 @@ public class UnsortedListModel extends AbstractListModel { // Java 7 has a ge fireContentsChanged(this, 0, getSize() - 1); } - @SuppressWarnings("unchecked") // Java 7 has type parameterized ListModel - public void addAll(ListModel otherModel) { + public void addAll(ListModel otherModel) { Collection elements = new ArrayList(); int size = otherModel.getSize(); for (int i = 0; size > i; ++i) { diff --git a/src/main/java/forge/gui/deckeditor/views/VCardCatalog.java b/src/main/java/forge/gui/deckeditor/views/VCardCatalog.java index 2d826244ca5..8d50d3c27fe 100644 --- a/src/main/java/forge/gui/deckeditor/views/VCardCatalog.java +++ b/src/main/java/forge/gui/deckeditor/views/VCardCatalog.java @@ -87,7 +87,7 @@ public enum VCardCatalog implements IVDoc, ITableContainer { .text("Add filter") .tooltip("Click to add custom filters to the card list") .reactOnMouseDown().build(); - private final JComboBox cbSearchMode = new JComboBox(); + private final JComboBox cbSearchMode = new JComboBox(); private final JTextField txfSearch = new FTextField.Builder().build(); private final FLabel lblName = new FLabel.Builder().text("Name").hoverable().selectable().selected().build(); private final FLabel lblType = new FLabel.Builder().text("Type").hoverable().selectable().selected().build(); @@ -252,7 +252,7 @@ public enum VCardCatalog implements IVDoc, ITableContainer { public FLabel getLblText() { return lblText; } public FLabel getBtnAddRestriction() { return btnAddRestriction; } - public JComboBox getCbSearchMode() { return cbSearchMode; } + public JComboBox getCbSearchMode() { return cbSearchMode; } public JTextField getTxfSearch() { return txfSearch; } public Map getStatLabels() { diff --git a/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java b/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java index 8cecee59df8..f675f9c7a7d 100644 --- a/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java +++ b/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java @@ -41,10 +41,11 @@ public enum CSubmenuGauntletContests implements ICDoc { private final VSubmenuGauntletContests view = VSubmenuGauntletContests.SINGLETON_INSTANCE; private final MouseAdapter madDecklist = new MouseAdapter() { + @SuppressWarnings("unchecked") @Override public void mouseClicked(final MouseEvent e) { if (e.getClickCount() == 2) { - DeckgenUtil.showDecklist(((JList) e.getSource())); } + DeckgenUtil.showDecklist(((JList) e.getSource())); } } }; diff --git a/src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletBuild.java b/src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletBuild.java index 54ca06029f0..e9ee2b538ec 100644 --- a/src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletBuild.java +++ b/src/main/java/forge/gui/home/gauntlet/VSubmenuGauntletBuild.java @@ -51,7 +51,7 @@ public enum VSubmenuGauntletBuild implements IVSubmenu { private final JPanel pnlDirections = new JPanel(); private final FDeckChooser lstLeft = new FDeckChooser("Deck", false); - private final JList lstRight = new FList(); + private final JList lstRight = new FList(); private final JScrollPane scrRight = new FScrollPane(lstRight, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); @@ -210,7 +210,7 @@ public enum VSubmenuGauntletBuild implements IVSubmenu { } /** @return {@link javax.swing.JList} */ - public JList getLstRight() { + public JList getLstRight() { return this.lstRight; } diff --git a/src/main/java/forge/gui/home/quest/DialogChooseSets.java b/src/main/java/forge/gui/home/quest/DialogChooseSets.java index 29df75fb750..9ae7912cac3 100644 --- a/src/main/java/forge/gui/home/quest/DialogChooseSets.java +++ b/src/main/java/forge/gui/home/quest/DialogChooseSets.java @@ -123,8 +123,8 @@ public class DialogChooseSets { private JPanel makeCheckBoxList(List sets, String title, boolean focused) { choices.addAll(sets); - final FCheckBoxList cbl = new FCheckBoxList(false); - cbl.setListData(sets.toArray()); + final FCheckBoxList cbl = new FCheckBoxList(false); + cbl.setListData(sets.toArray(new FCheckBox[]{})); cbl.setVisibleRowCount(Math.min(20, sets.size())); if (focused) { diff --git a/src/main/java/forge/gui/home/quest/IVQuestStats.java b/src/main/java/forge/gui/home/quest/IVQuestStats.java index 67fb9d8d726..36c94ab1e8a 100644 --- a/src/main/java/forge/gui/home/quest/IVQuestStats.java +++ b/src/main/java/forge/gui/home/quest/IVQuestStats.java @@ -46,7 +46,7 @@ public interface IVQuestStats { JLabel getLblWinStreak(); /** @return {@link javax.swing.JComboBox} */ - JComboBox getCbxPet(); + JComboBox getCbxPet(); /** @return {@link javax.swing.JCheckBox} */ JCheckBox getCbPlant(); diff --git a/src/main/java/forge/gui/home/quest/VSubmenuChallenges.java b/src/main/java/forge/gui/home/quest/VSubmenuChallenges.java index 627ff839498..262ea1e4b2c 100644 --- a/src/main/java/forge/gui/home/quest/VSubmenuChallenges.java +++ b/src/main/java/forge/gui/home/quest/VSubmenuChallenges.java @@ -46,7 +46,7 @@ public enum VSubmenuChallenges implements IVSubmenu, IVQuest ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); private final JButton btnStart = new StartButton(); - private final JComboBox cbxPet = new JComboBox(); + private final JComboBox cbxPet = new JComboBox(); private final JCheckBox cbPlant = new FCheckBox("Summon Plant"); private final JLabel lblZep = new FLabel.Builder().text("Launch
Zeppelin") .hoverable(true).icon(FSkin.getIcon(FSkin.QuestIcons.ICO_ZEP)) @@ -248,7 +248,7 @@ public enum VSubmenuChallenges implements IVSubmenu, IVQuest } @Override - public JComboBox getCbxPet() { + public JComboBox getCbxPet() { return cbxPet; } diff --git a/src/main/java/forge/gui/home/quest/VSubmenuDuels.java b/src/main/java/forge/gui/home/quest/VSubmenuDuels.java index 67d01140de0..69447b5bd0c 100644 --- a/src/main/java/forge/gui/home/quest/VSubmenuDuels.java +++ b/src/main/java/forge/gui/home/quest/VSubmenuDuels.java @@ -45,7 +45,7 @@ public enum VSubmenuDuels implements IVSubmenu, IVQuestStats { ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); private final JButton btnStart = new StartButton(); - private final JComboBox cbxPet = new JComboBox(); + private final JComboBox cbxPet = new JComboBox(); private final JCheckBox cbPlant = new FCheckBox("Summon Plant"); private final JLabel lblZep = new FLabel.Builder().text("Launch Zeppelin").fontSize(14).build(); @@ -241,7 +241,7 @@ public enum VSubmenuDuels implements IVSubmenu, IVQuestStats { } @Override - public JComboBox getCbxPet() { + public JComboBox getCbxPet() { return cbxPet; } diff --git a/src/main/java/forge/gui/home/quest/VSubmenuQuestData.java b/src/main/java/forge/gui/home/quest/VSubmenuQuestData.java index 3f64b1f1bc8..ec5f307ed8a 100644 --- a/src/main/java/forge/gui/home/quest/VSubmenuQuestData.java +++ b/src/main/java/forge/gui/home/quest/VSubmenuQuestData.java @@ -79,33 +79,33 @@ public enum VSubmenuQuestData implements IVSubmenu { private final JCheckBox boxFantasy = new FCheckBox("Fantasy Mode"); private final JLabel lblStartingWorld = new FLabel.Builder().text("Starting world:").build(); - private final JComboBox cbxStartingWorld = new JComboBox(); + private final JComboBox cbxStartingWorld = new JComboBox(); /* Second column */ private final JLabel lblStartingPool = new FLabel.Builder().text("Starting pool:").build(); - private final JComboBox cbxStartingPool = new JComboBox(); + private final JComboBox cbxStartingPool = new JComboBox(); private final JLabel lblUnrestricted = new FLabel.Builder().text("All cards will be available to play.").build(); private final JLabel lblPreconDeck = new FLabel.Builder().text("Starter/Event deck:").build(); - private final JComboBox cbxPreconDeck = new JComboBox(); + private final JComboBox cbxPreconDeck = new JComboBox(); private final JLabel lblFormat = new FLabel.Builder().text("Sanctioned format:").build(); - private final JComboBox cbxFormat = new JComboBox(); + private final JComboBox cbxFormat = new JComboBox(); private final JLabel lblCustomDeck = new FLabel.Builder().text("Custom deck:").build(); - private final JComboBox cbxCustomDeck = new JComboBox(); + private final JComboBox cbxCustomDeck = new JComboBox(); private final FLabel btnDefineCustomFormat = new FLabel.Builder().opaque(true).hoverable(true).text("Define custom format").build(); private final FLabel btnPrizeDefineCustomFormat = new FLabel.Builder().opaque(true).hoverable(true).text("Define custom format").build(); private final JLabel lblPrizedCards = new FLabel.Builder().text("Prized cards:").build(); - private final JComboBox cbxPrizedCards = new JComboBox(); + private final JComboBox cbxPrizedCards = new JComboBox(); private final JLabel lblPrizeFormat = new FLabel.Builder().text("Sanctioned format:").build(); - private final JComboBox cbxPrizeFormat = new JComboBox(); + private final JComboBox cbxPrizeFormat = new JComboBox(); private final JLabel lblPrizeUnrestricted = new FLabel.Builder().text("All cards will be available to win.").build(); private final JLabel lblPrizeSameAsStarting = new FLabel.Builder().text("Only sets found in starting pool will be available.").build(); @@ -197,6 +197,7 @@ public enum VSubmenuQuestData implements IVSubmenu { /** * Constructor. */ + @SuppressWarnings("unchecked") private VSubmenuQuestData() { lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2)); lblTitleNew.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2)); @@ -260,9 +261,11 @@ public enum VSubmenuQuestData implements IVSubmenu { preconDescriptions.put(name, description); } + // The cbx needs strictly typed renderer cbxPreconDeck.setRenderer(new BasicComboBoxRenderer() { private static final long serialVersionUID = 3477357932538947199L; + @SuppressWarnings("rawtypes") @Override public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { diff --git a/src/main/java/forge/gui/home/sanctioned/VSubmenuDraft.java b/src/main/java/forge/gui/home/sanctioned/VSubmenuDraft.java index 8df08398665..1f29fcdfa1d 100644 --- a/src/main/java/forge/gui/home/sanctioned/VSubmenuDraft.java +++ b/src/main/java/forge/gui/home/sanctioned/VSubmenuDraft.java @@ -48,7 +48,7 @@ public enum VSubmenuDraft implements IVSubmenu { private final StartButton btnStart = new StartButton(); private final DeckLister lstDecks = new DeckLister(GameType.Draft); - private final JList lstAI = new FList(); + private final JList lstAI = new FList(); private final JRadioButton radSingle = new FRadioButton("Play one opponent"); private final JRadioButton radAll = new FRadioButton("Play all 7 opponents"); diff --git a/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java b/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java index 7d5eb67d53a..5aabf341f2e 100644 --- a/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java +++ b/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java @@ -9,6 +9,7 @@ import java.io.File; import javax.swing.JCheckBox; import javax.swing.SwingUtilities; +import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang3.text.WordUtils; import org.apache.commons.lang3.tuple.Pair; @@ -154,7 +155,7 @@ public enum CSubmenuPreferences implements ICDoc { private void updateSkinNames() { final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE; - final String[] uglyNames = FSkin.getSkins().toArray(new String[0]); + final String[] uglyNames = FSkin.getSkins().toArray(ArrayUtils.EMPTY_STRING_ARRAY); final String[] prettyNames = new String[uglyNames.length]; final String currentName = Singletons.getModel().getPreferences().getPref(FPref.UI_SKIN); int currentIndex = 0; @@ -171,7 +172,7 @@ public enum CSubmenuPreferences implements ICDoc { private void updateAIProfiles() { final VSubmenuPreferences view = VSubmenuPreferences.SINGLETON_INSTANCE; - final ArrayList profileNames = AiProfileUtil.getProfilesDisplayList(); + final List profileNames = AiProfileUtil.getProfilesDisplayList(); final String currentName = Singletons.getModel().getPreferences().getPref(FPref.UI_CURRENT_AI_PROFILE); int currentIndex = 0; @@ -179,7 +180,7 @@ public enum CSubmenuPreferences implements ICDoc { if (currentName.equalsIgnoreCase(profileNames.get(i))) { currentIndex = i; } } - view.getLstChooseAIProfile().setListData(profileNames.toArray()); + view.getLstChooseAIProfile().setListData(profileNames.toArray(ArrayUtils.EMPTY_STRING_ARRAY)); view.getLstChooseAIProfile().setSelectedIndex(currentIndex); view.getLstChooseAIProfile().ensureIndexIsVisible(view.getLstChooseAIProfile().getSelectedIndex()); } diff --git a/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java b/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java index 74293b86eab..2082aa867ca 100644 --- a/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java +++ b/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java @@ -68,7 +68,7 @@ public enum VSubmenuPreferences implements IVSubmenu { private final FLabel lblTitleSkin = new FLabel.Builder() .text("Choose Skin").fontStyle(Font.BOLD).fontSize(14).build(); - private final JList lstChooseSkin = new FList(); + private final JList lstChooseSkin = new FList(); private final FLabel lblChooseSkin = new FLabel.Builder().fontSize(12).fontStyle(Font.ITALIC) .text("Various user-created themes for Forge backgrounds, fonts, and colors.") .fontAlign(SwingConstants.LEFT).build(); @@ -77,7 +77,7 @@ public enum VSubmenuPreferences implements IVSubmenu { private final FLabel lblTitleAIProfile = new FLabel.Builder() .text("Choose AI Personality").fontStyle(Font.BOLD).fontSize(14).build(); - private final JList lstChooseAIProfile = new FList(); + private final JList lstChooseAIProfile = new FList(); private final FLabel lblChooseAIProfile = new FLabel.Builder().fontSize(12).fontStyle(Font.ITALIC) .text("AI Opponent Personality.") .fontAlign(SwingConstants.LEFT).build(); @@ -376,7 +376,7 @@ public enum VSubmenuPreferences implements IVSubmenu { } /** @return {@link javax.swing.JList} */ - public final JList getLstChooseSkin() { + public final JList getLstChooseSkin() { return lstChooseSkin; } @@ -391,7 +391,7 @@ public enum VSubmenuPreferences implements IVSubmenu { } /** @return {@link javax.swing.JList} */ - public final JList getLstChooseAIProfile() { + public final JList getLstChooseAIProfile() { return lstChooseAIProfile; } diff --git a/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java b/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java index 9aa07c589b5..848a682008f 100644 --- a/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java +++ b/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java @@ -52,7 +52,7 @@ public enum CSubmenuArchenemy implements ICDoc { @Override public void update() { // reinit deck list and restore last selections (if any) - FList deckList = view.getArchenemySchemes(); + FList deckList = view.getArchenemySchemes(); Vector listData = new Vector(); listData.add("Random"); listData.add("Generate"); diff --git a/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java b/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java index 3c57b3e4317..664666b241f 100644 --- a/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java +++ b/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java @@ -53,7 +53,7 @@ public enum CSubmenuPlanechase implements ICDoc { @Override public void update() { // reinit deck lists and restore last selections (if any) - for (FList deckList : view.getPlanarDeckLists()) { + for (FList deckList : view.getPlanarDeckLists()) { Vector listData = new Vector(); listData.add("Random"); listData.add("Generate"); diff --git a/src/main/java/forge/gui/home/variant/VSubmenuArchenemy.java b/src/main/java/forge/gui/home/variant/VSubmenuArchenemy.java index 90282f7c911..3a6922a0cab 100644 --- a/src/main/java/forge/gui/home/variant/VSubmenuArchenemy.java +++ b/src/main/java/forge/gui/home/variant/VSubmenuArchenemy.java @@ -65,7 +65,7 @@ public enum VSubmenuArchenemy implements IVSubmenu { private final FTabbedPane tabPane = new FTabbedPane(); private final List playerPanels = new ArrayList(); private final List deckChoosers = new ArrayList(); - private final FList archenemySchemes = new FList(); + private final FList archenemySchemes = new FList(); private final List allSchemeDecks = new ArrayList(); private final JCheckBox cbUseDefaultSchemes = new FCheckBox("Use default scheme decks if possible."); private final List fieldRadios = new ArrayList(); @@ -314,7 +314,7 @@ public enum VSubmenuArchenemy implements IVSubmenu { /** * @return the archenemySchemes */ - public FList getArchenemySchemes() { + public FList getArchenemySchemes() { return archenemySchemes; } diff --git a/src/main/java/forge/gui/home/variant/VSubmenuPlanechase.java b/src/main/java/forge/gui/home/variant/VSubmenuPlanechase.java index 20bdbb9c6f4..4da9e769c32 100644 --- a/src/main/java/forge/gui/home/variant/VSubmenuPlanechase.java +++ b/src/main/java/forge/gui/home/variant/VSubmenuPlanechase.java @@ -64,7 +64,7 @@ public enum VSubmenuPlanechase implements IVSubmenu { private final FTabbedPane tabPane = new FTabbedPane(); private final List playerPanels = new ArrayList(); private final List deckChoosers = new ArrayList(); - private final List planarDeckLists = new ArrayList(); + private final List> planarDeckLists = new ArrayList>(); private final List allPlanarDecks = new ArrayList(); private final JCheckBox cbUseDefaultPlanes = new FCheckBox("Use default planar decks if possible."); private final List fieldRadios = new ArrayList(); @@ -96,7 +96,7 @@ public enum VSubmenuPlanechase implements IVSubmenu { FRadioButton tempRadio = null; FPanel tempPanel; FDeckChooser tempChooser; - FList tempPlanarDeckList; + FList tempPlanarDeckList; //Settings panel FPanel settingsPanel = new FPanel(); @@ -133,7 +133,7 @@ public enum VSubmenuPlanechase implements IVSubmenu { tempPanel.add(new FLabel.Builder().text("Select Planar deck:").build(), "gap 0px 0px 10px 10px, flowy"); - tempPlanarDeckList = new FList(); + tempPlanarDeckList = new FList(); tempPlanarDeckList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); @@ -315,7 +315,7 @@ public enum VSubmenuPlanechase implements IVSubmenu { /** * @return the archenemySchemes */ - public List getPlanarDeckLists() { + public List> getPlanarDeckLists() { return planarDeckLists; } diff --git a/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java b/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java index b3a69099070..0511592468a 100644 --- a/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java +++ b/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java @@ -75,7 +75,7 @@ public enum VSubmenuVanguard implements IVSubmenu { private final FTabbedPane tabPane = new FTabbedPane(); private final List playerPanels = new ArrayList(); private final List deckChoosers = new ArrayList(); - private final List avatarLists = new ArrayList(); + private final List> avatarLists = new ArrayList>(); private final List fieldRadios = new ArrayList(); private final ButtonGroup grpFields = new ButtonGroup(); @@ -142,7 +142,7 @@ public enum VSubmenuVanguard implements IVSubmenu { FRadioButton tempRadio = null; FPanel tempPanel; FDeckChooser tempChooser; - FList tempList; + FList tempList; CardDetailPanel tempDetail; //Settings panel @@ -173,7 +173,7 @@ public enum VSubmenuVanguard implements IVSubmenu { tempChooser = new FDeckChooser("Select deck:", i != 0); tempChooser.initialize(); - tempList = new FList(); + tempList = new FList(); tempList.setListData(i == 0 ? humanListData : aiListData); tempList.setSelectedIndex(0); @@ -348,7 +348,7 @@ public enum VSubmenuVanguard implements IVSubmenu { /** * @return the avatarLists */ - public List getAvatarLists() { + public List> getAvatarLists() { return avatarLists; } diff --git a/src/main/java/forge/gui/match/QuestWinLoseCardViewer.java b/src/main/java/forge/gui/match/QuestWinLoseCardViewer.java index 332e51697e0..78d34c8cf0e 100644 --- a/src/main/java/forge/gui/match/QuestWinLoseCardViewer.java +++ b/src/main/java/forge/gui/match/QuestWinLoseCardViewer.java @@ -47,7 +47,7 @@ public class QuestWinLoseCardViewer extends FPanel { private final List list; // initialized before; listeners may be added to it - private final JList jList; + private final JList jList; private final CardDetailPanel detail; private final CardPicturePanel picture; private final FScrollPane scroller; @@ -60,7 +60,7 @@ public class QuestWinLoseCardViewer extends FPanel { */ public QuestWinLoseCardViewer(final List list) { this.list = Collections.unmodifiableList(list); - this.jList = new FList(new ChooserListModel()); + this.jList = new FList(new ChooserListModel()); this.detail = new CardDetailPanel(null); this.picture = new CardPicturePanel(); this.scroller = new FScrollPane(this.jList); @@ -81,7 +81,7 @@ public class QuestWinLoseCardViewer extends FPanel { this.jList.setSelectedIndex(0); } - private class ChooserListModel extends AbstractListModel { + private class ChooserListModel extends AbstractListModel { private static final long serialVersionUID = 3871965346333840556L; @@ -91,7 +91,7 @@ public class QuestWinLoseCardViewer extends FPanel { } @Override - public Object getElementAt(final int index) { + public PaperCard getElementAt(final int index) { return QuestWinLoseCardViewer.this.list.get(index); } } diff --git a/src/main/java/forge/gui/toolbox/CardViewer.java b/src/main/java/forge/gui/toolbox/CardViewer.java index 9e1f3d5ef6b..86e32cdec9f 100644 --- a/src/main/java/forge/gui/toolbox/CardViewer.java +++ b/src/main/java/forge/gui/toolbox/CardViewer.java @@ -44,7 +44,7 @@ public class CardViewer extends JPanel { private final List list; // initialized before; listeners may be added to it - private JList jList = null; + private JList jList = null; private final CardDetailPanel detail; private final CardPicturePanel picture; @@ -56,7 +56,7 @@ public class CardViewer extends JPanel { */ public CardViewer(final List list) { this.list = Collections.unmodifiableList(list); - this.jList = new JList(new ChooserListModel()); + this.jList = new JList(new ChooserListModel()); this.detail = new CardDetailPanel(null); this.picture = new CardPicturePanel(); @@ -70,7 +70,7 @@ public class CardViewer extends JPanel { this.jList.setSelectedIndex(0); } - private class ChooserListModel extends AbstractListModel { + private class ChooserListModel extends AbstractListModel { private static final long serialVersionUID = 3871965346333840556L; @@ -80,7 +80,7 @@ public class CardViewer extends JPanel { } @Override - public Object getElementAt(final int index) { + public PaperCard getElementAt(final int index) { return CardViewer.this.list.get(index); } } diff --git a/src/main/java/forge/gui/toolbox/FCheckBoxList.java b/src/main/java/forge/gui/toolbox/FCheckBoxList.java index 3612c579ab7..d770fa655c1 100644 --- a/src/main/java/forge/gui/toolbox/FCheckBoxList.java +++ b/src/main/java/forge/gui/toolbox/FCheckBoxList.java @@ -22,11 +22,11 @@ import javax.swing.border.EmptyBorder; * based on code at http://www.devx.com/tips/Tip/5342 */ @SuppressWarnings("serial") -public class FCheckBoxList extends JList { +public class FCheckBoxList extends JList { protected static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1); public FCheckBoxList(boolean keepSelectionWhenFocusLost) { - setCellRenderer(new CellRenderer()); + setCellRenderer(new CellRenderer()); addMouseListener(new MouseAdapter() { @Override @@ -80,8 +80,8 @@ public class FCheckBoxList extends JList { setSelectionMode(ListSelectionModel.SINGLE_SELECTION); } - protected class CellRenderer implements ListCellRenderer { - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { + protected class CellRenderer implements ListCellRenderer { + public Component getListCellRendererComponent(JList list, E1 value, int index, boolean isSelected, boolean cellHasFocus) { FCheckBox checkbox = (FCheckBox)value; checkbox.setBackground(isSelected ? getSelectionBackground() : getBackground()); checkbox.setForeground(isSelected ? getSelectionForeground() : getForeground()); diff --git a/src/main/java/forge/gui/toolbox/FDeckChooser.java b/src/main/java/forge/gui/toolbox/FDeckChooser.java index 128d81f0b64..cfb28b3c945 100644 --- a/src/main/java/forge/gui/toolbox/FDeckChooser.java +++ b/src/main/java/forge/gui/toolbox/FDeckChooser.java @@ -4,7 +4,6 @@ import java.awt.Font; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import javax.swing.JList; @@ -42,7 +41,7 @@ public class FDeckChooser extends JPanel { private final JRadioButton radQuests = new FRadioButton("Quest opponent deck"); private final JRadioButton radPrecons = new FRadioButton("Decks from quest shop"); - private final JList lstDecks = new FList(); + private final JList lstDecks = new FList(); private final FLabel btnRandom = new FLabel.ButtonBuilder().text("Random").fontSize(16).build(); private final FLabel btnChange = new FLabel.ButtonBuilder().text("Change player type").fontSize(16).build(); @@ -59,10 +58,11 @@ public class FDeckChooser extends JPanel { private boolean isAi; private final MouseAdapter madDecklist = new MouseAdapter() { + @SuppressWarnings("unchecked") @Override public void mouseClicked(final MouseEvent e) { if (MouseEvent.BUTTON1 == e.getButton() && e.getClickCount() == 2) { - final JList src = ((JList) e.getSource()); + final JList src = ((JList) e.getSource()); if (getRadColors().isSelected() || getRadThemes().isSelected()) { return; } DeckgenUtil.showDecklist(src); } @@ -137,7 +137,7 @@ public class FDeckChooser extends JPanel { } - private JList getLstDecks() { return lstDecks; } + private JList getLstDecks() { return lstDecks; } private FLabel getBtnRandom() { return btnRandom; } private JRadioButton getRadColors() { return radColors; } private JRadioButton getRadThemes() { return radThemes; } @@ -147,7 +147,7 @@ public class FDeckChooser extends JPanel { /** Handles all control for "colors" radio button click. */ private void updateColors() { - final JList lst = getLstDecks(); + final JList lst = getLstDecks(); lst.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); lst.setListData(new String[] {"Random 1", "Random 2", "Random 3", "Black", "Blue", "Green", "Red", "White"}); @@ -165,7 +165,7 @@ public class FDeckChooser extends JPanel { /** Handles all control for "themes" radio button click. */ private void updateThemes() { - final JList lst = getLstDecks(); + final JList lst = getLstDecks(); lst.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); lst.removeMouseListener(madDecklist); @@ -188,7 +188,7 @@ public class FDeckChooser extends JPanel { /** Handles all control for "custom" radio button click. */ private void updateCustom() { - final JList lst = getLstDecks(); + final JList lst = getLstDecks(); lst.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); final List customNames = new ArrayList(); @@ -210,7 +210,7 @@ public class FDeckChooser extends JPanel { /** Handles all control for "custom" radio button click. */ private void updatePrecons() { - final JList lst = getLstDecks(); + final JList lst = getLstDecks(); lst.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); final List customNames = new ArrayList(); @@ -232,7 +232,7 @@ public class FDeckChooser extends JPanel { /** Handles all control for "quest event" radio button click. */ private void updateQuestEvents() { - final JList lst = getLstDecks(); + final JList lst = getLstDecks(); lst.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); final List eventNames = new ArrayList(); @@ -263,14 +263,14 @@ public class FDeckChooser extends JPanel { public RegisteredPlayer getDeck() { - JList lst0 = getLstDecks(); - final String[] selection = Arrays.copyOf(lst0.getSelectedValues(), lst0.getSelectedValues().length, String[].class); + JList lst0 = getLstDecks(); + final List selection = lst0.getSelectedValuesList(); - if (selection.length == 0) { return null; } + if (selection.isEmpty()) { return null; } // Special branch for quest events if (lst0.getName().equals(DeckgenUtil.DeckTypes.QUESTEVENTS.toString())) { - QuestEvent event = DeckgenUtil.getQuestEvent(selection[0]); + QuestEvent event = DeckgenUtil.getQuestEvent(selection.get(0)); RegisteredPlayer result = new RegisteredPlayer(event.getEventDeck()); if( event instanceof QuestEventChallenge ) { result.setStartingLife(((QuestEventChallenge) event).getAiLife()); @@ -283,11 +283,11 @@ public class FDeckChooser extends JPanel { if (lst0.getName().equals(DeckgenUtil.DeckTypes.COLORS.toString()) && DeckgenUtil.colorCheck(selection)) { deck = DeckgenUtil.buildColorDeck(selection, isAi); } else if (lst0.getName().equals(DeckgenUtil.DeckTypes.THEMES.toString())) { - deck = DeckgenUtil.buildThemeDeck(selection); + deck = DeckgenUtil.buildThemeDeck(selection.get(0)); } else if (lst0.getName().equals(DeckgenUtil.DeckTypes.CUSTOM.toString())) { - deck = DeckgenUtil.getConstructedDeck(selection); + deck = DeckgenUtil.getConstructedDeck(selection.get(0)); } else if (lst0.getName().equals(DeckgenUtil.DeckTypes.PRECON.toString())) { - deck = DeckgenUtil.getPreconDeck(selection); + deck = DeckgenUtil.getPreconDeck(selection.get(0)); } return RegisteredPlayer.fromDeck(deck); diff --git a/src/main/java/forge/gui/toolbox/FList.java b/src/main/java/forge/gui/toolbox/FList.java index ab137b811a9..9c461d85a0d 100644 --- a/src/main/java/forge/gui/toolbox/FList.java +++ b/src/main/java/forge/gui/toolbox/FList.java @@ -1,7 +1,6 @@ package forge.gui.toolbox; import java.awt.Component; - import javax.swing.DefaultListCellRenderer; import javax.swing.JLabel; import javax.swing.JList; @@ -14,35 +13,21 @@ import javax.swing.border.EmptyBorder; * */ @SuppressWarnings("serial") -public class FList extends JList { - /** - * A JList object using Forge skin properties. - * This constructor assumes list contents are null and will be set later. - */ +public class FList extends JList { + public FList() { - this(new Object[] {}); + super(); + applySkin(); } - - /** - * A JList object using Forge skin properties. - * This constructor assumes list contents are null and will be set later. - * This constructor is used for naming a list at instantiation. - * @param name0   {@link java.lang.String} - */ - public FList(final String name0) { - this(new Object[] {}); - this.setName(name0); - } - /** * A JList object using Forge skin properties. * This constructor assumes list contents are null and will be set later. * This constructor is used for applying a list model at instantiation. * @param model0   {@link javax.swing.ListModel} */ - public FList(final ListModel model0) { - this(new Object[] {}); - this.setModel(model0); + public FList(final ListModel model0) { + super(model0); + applySkin(); } /** @@ -51,19 +36,26 @@ public class FList extends JList { * * @param o0 {@link java.lang.Object}[] */ - public FList(Object[] o0) { + public FList(E[] o0) { super(o0); + applySkin(); + } + + /** + * TODO: Write javadoc for this method. + */ + private void applySkin() { setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2)); - ListCellRenderer renderer = new ComplexCellRenderer(); + ListCellRenderer renderer = new ComplexCellRenderer(); setCellRenderer(renderer); } - private class ComplexCellRenderer implements ListCellRenderer { + private class ComplexCellRenderer implements ListCellRenderer { private DefaultListCellRenderer defaultRenderer = new DefaultListCellRenderer(); @Override - public Component getListCellRendererComponent(JList lst0, Object val0, int i0, + public Component getListCellRendererComponent(JList lst0, E1 val0, int i0, boolean isSelected, boolean cellHasFocus) { JLabel lblItem = (JLabel) defaultRenderer.getListCellRendererComponent(