package forge;
import net.miginfocom.swing.MigLayout;
import javax.swing.*;
import javax.swing.border.BevelBorder;
import javax.swing.table.DefaultTableModel;
import java.awt.Color;
import java.awt.*;
import java.awt.event.*;
import java.math.BigDecimal;
import java.util.Arrays;
/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*
* @author Forge
* @version $Id: $
*/
public class GUI_DeckAnalysis extends javax.swing.JDialog {
/** Constant <code>serialVersionUID=-8475271235196182185L</code> */
private static final long serialVersionUID = -8475271235196182185L;
private JPanel jPanel1;
private JLabel jLabelColorless;
private JLabel jLabelMultiColor;
private JLabel jLabelWhite;
private JLabel jLabelSixMana;
private JLabel jLabelFiveMana;
private JLabel jLabelFourMana;
private JLabel jLabelThreeMana;
private JLabel jLabel1;
private JScrollPane jScrollPane1;
private JTable jTable1;
private JPanel jPanel5;
private JButton jButtonRegenerate;
private JLabel jLabel4;
private JSeparator jSeparator4;
private JPanel jPanel4;
private JList jListFirstHand;
private JLabel jLabelTwoMana;
private JLabel jLabelOneMana;
private JLabel jLabelManaCost;
private JSeparator jSeparator3;
private JLabel jLabelZeroMana;
private JPanel jPanel3;
private JLabel jLabelSorcery;
private JLabel jLabelPlaneswalker;
private JLabel jLabelRed;
private JLabel jLabelGreen;
private JLabel jLabelBlue;
private JLabel jLabelBlack;
private JLabel jLabelEnchant;
private JLabel jLabelLandType;
private JLabel jLabelInstant;
private JLabel jLabelCreature;
private JLabel jLabel3;
private JSeparator jSeparator2;
private JLabel jLabelArtifact;
private JPanel jPanel2;
private JLabel jLabelTotal;
private JLabel jLabelLand;
private JSeparator jSeparator1;
private JLabel jLabel2;
private JButton jButtonOk;
private JFrame jF;
//private ButtonGroup buttonGroup1;
public CardList filterCardList;
public TableModel tModel;
/**
* <p>Constructor for GUI_DeckAnalysis.</p>
*
* @param g a {@link javax.swing.JFrame} object.
* @param tb a {@link forge.TableModel} object.
*/
public GUI_DeckAnalysis(JFrame g, TableModel tb) {
super(g);
tModel = tb;
jF = g;
initGUI();
}
/**
* <p>initGUI.</p>
*/
private void initGUI() {
try {
getContentPane().setLayout(null);
setVisible(true);
int wWidth = 600;
int wHeight = 600;
this.setPreferredSize(new java.awt.Dimension(wWidth, wHeight));
Dimension screen = getToolkit().getScreenSize();
int x = (screen.width - wWidth) / 2;
int y = (screen.height - wHeight) / 2;
this.setBounds(x, y, wWidth, wHeight);
this.setResizable(false);
this.setTitle("Deck Analysis");
pack();
//this.setIconImage(null);
this.addWindowListener(new WListener());
getContentPane().add(getJButton1());
getContentPane().add(getJLabel1xx());
getContentPane().add(getJButtonOk());
getContentPane().add(getJPanel1());
getContentPane().add(getJPanel2());
getContentPane().add(getJPanel3());
getContentPane().add(getJPanel4());
getContentPane().add(getJPanel5());
getContentPane().add(getJLabel1xxxxx());
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* <p>Getter for the field <code>jPanel1</code>.</p>
*
* @return a {@link javax.swing.JPanel} object.
*/
private JPanel getJPanel1() {
if (jPanel1 == null) {
jPanel1 = new JPanel();
jPanel1.setLayout(null);
jPanel1.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
jPanel1.setBackground(new java.awt.Color(192, 192, 192));
jPanel1.setBounds(5, 35, 137, 203);
jPanel1.add(getJLabel1());
jPanel1.add(getJSeparator1());
jPanel1.add(getJLabel2());
jPanel1.add(getJLabel3());
jPanel1.add(getJLabel4());
jPanel1.add(getJLabel5());
jPanel1.add(getJLabel6());
jPanel1.add(getJLabel7());
jPanel1.add(getJLabel8());
jPanel1.add(getJLabel1x());
}
return jPanel1;
}
/**
* <p>Getter for the field <code>jLabel2</code>.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel2() {
if (jLabel2 == null) {
jLabel2 = new JLabel();
jLabel2.setText("Color");
jLabel2.setHorizontalAlignment(SwingConstants.CENTER);
jLabel2.setFont(new java.awt.Font("Segoe UI", 0, 14));
jLabel2.setPreferredSize(new java.awt.Dimension(152, 39));
jLabel2.setLayout(null);
jLabel2.setBounds(2, -3, 135, 26);
}
return jLabel2;
}
/**
* <p>Getter for the field <code>jSeparator1</code>.</p>
*
* @return a {@link javax.swing.JSeparator} object.
*/
private JSeparator getJSeparator1() {
if (jSeparator1 == null) {
jSeparator1 = new JSeparator();
jSeparator1.setPreferredSize(new java.awt.Dimension(117, 6));
jSeparator1.setLayout(null);
jSeparator1.setBounds(1, 20, 136, 5);
}
return jSeparator1;
}
/**
* <p>Getter for the field <code>jButtonOk</code>.</p>
*
* @return a {@link javax.swing.JButton} object.
*/
private JButton getJButtonOk() {
if (jButtonOk == null) {
jButtonOk = new JButton();
jButtonOk.setLayout(null);
jButtonOk.setText("OK");
jButtonOk.setBounds(206, 536, 168, 31);
jButtonOk.addMouseListener(new CustomListener());
}
return jButtonOk;
}
/**
* <p>Getter for the field <code>jLabel1</code>.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel1() {
if (jLabelBlack == null) {
jLabelBlack = new JLabel();
jLabelBlack.setText("Black:");
jLabelBlack.setPreferredSize(new java.awt.Dimension(105, 12));
jLabelBlack.setLayout(null);
jLabelBlack.setBounds(10, 28, 127, 13);
}
return jLabelBlack;
}
/**
* <p>Getter for the field <code>jLabel3</code>.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel3() {
if (jLabelBlue == null) {
jLabelBlue = new JLabel();
jLabelBlue.setText("Blue:");
jLabelBlue.setLayout(null);
jLabelBlue.setBounds(10, 50, 127, 13);
}
return jLabelBlue;
}
/**
* <p>Getter for the field <code>jLabel4</code>.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel4() {
if (jLabelGreen == null) {
jLabelGreen = new JLabel();
jLabelGreen.setText("Green:");
jLabelGreen.setLayout(null);
jLabelGreen.setBounds(10, 72, 127, 13);
}
return jLabelGreen;
}
/**
* <p>getJLabel5.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel5() {
if (jLabelRed == null) {
jLabelRed = new JLabel();
jLabelRed.setText("Red:");
jLabelRed.setLayout(null);
jLabelRed.setBounds(10, 94, 127, 14);
}
return jLabelRed;
}
/**
* <p>getJLabel6.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel6() {
if (jLabelWhite == null) {
jLabelWhite = new JLabel();
jLabelWhite.setText("White:");
jLabelWhite.setLayout(null);
jLabelWhite.setBounds(10, 116, 127, 13);
}
return jLabelWhite;
}
/**
* <p>getJLabel7.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel7() {
if (jLabelMultiColor == null) {
jLabelMultiColor = new JLabel();
jLabelMultiColor.setText("Multicolor:");
jLabelMultiColor.setLayout(null);
jLabelMultiColor.setBounds(10, 138, 127, 12);
}
return jLabelMultiColor;
}
/**
* <p>getJLabel8.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel8() {
if (jLabelColorless == null) {
jLabelColorless = new JLabel();
jLabelColorless.setText("Colorless:");
jLabelColorless.setLayout(null);
jLabelColorless.setBounds(10, 160, 128, 11);
}
return jLabelColorless;
}
/**
* <p>getJLabel1x.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel1x() {
if (jLabelLand == null) {
jLabelLand = new JLabel();
jLabelLand.setText("Land: ");
jLabelLand.setLayout(null);
jLabelLand.setBounds(10, 182, 129, 10);
}
return jLabelLand;
}
/**
* <p>getJLabel1xx.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel1xx() {
if (jLabelTotal == null) {
jLabelTotal = new JLabel();
jLabelTotal.setText("Information about deck:");
jLabelTotal.setLayout(null);
jLabelTotal.setBounds(5, 0, 454, 35);
}
return jLabelTotal;
}
/**
* <p>Getter for the field <code>jPanel2</code>.</p>
*
* @return a {@link javax.swing.JPanel} object.
*/
private JPanel getJPanel2() {
if (jPanel2 == null) {
jPanel2 = new JPanel();
jPanel2.setBackground(new java.awt.Color(192, 192, 192));
jPanel2.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
jPanel2.setLayout(null);
jPanel2.setBounds(153, 35, 137, 203);
jPanel2.add(getJLabel1xxx());
jPanel2.add(getJSeparator2());
jPanel2.add(getJLabel3x());
jPanel2.add(getJLabel4x());
jPanel2.add(getJLabel5x());
jPanel2.add(getJLabel6x());
jPanel2.add(getJLabel7x());
jPanel2.add(getJLabel8x());
jPanel2.add(getJLabel10());
}
return jPanel2;
}
/**
* <p>getJLabel1xxx.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel1xxx() {
if (jLabelArtifact == null) {
jLabelArtifact = new JLabel();
jLabelArtifact.setText("Artifact:");
jLabelArtifact.setPreferredSize(new java.awt.Dimension(105, 12));
jLabelArtifact.setLayout(null);
jLabelArtifact.setBounds(10, 28, 127, 13);
}
return jLabelArtifact;
}
/**
* <p>Getter for the field <code>jSeparator2</code>.</p>
*
* @return a {@link javax.swing.JSeparator} object.
*/
private JSeparator getJSeparator2() {
if (jSeparator2 == null) {
jSeparator2 = new JSeparator();
jSeparator2.setPreferredSize(new java.awt.Dimension(117, 6));
jSeparator2.setLayout(null);
jSeparator2.setBounds(1, 20, 136, 5);
}
return jSeparator2;
}
/**
* <p>getJLabel3x.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel3x() {
if (jLabel3 == null) {
jLabel3 = new JLabel();
jLabel3.setText("Type");
jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
jLabel3.setFont(new java.awt.Font("Segoe UI", 0, 14));
jLabel3.setPreferredSize(new java.awt.Dimension(152, 39));
jLabel3.setLayout(null);
jLabel3.setBounds(2, -3, 135, 26);
}
return jLabel3;
}
/**
* <p>getJLabel4x.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel4x() {
if (jLabelCreature == null) {
jLabelCreature = new JLabel();
jLabelCreature.setText("Creature:");
jLabelCreature.setLayout(null);
jLabelCreature.setBounds(10, 53, 127, 13);
}
return jLabelCreature;
}
/**
* <p>getJLabel5x.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel5x() {
if (jLabelEnchant == null) {
jLabelEnchant = new JLabel();
jLabelEnchant.setText("Enchant:");
jLabelEnchant.setLayout(null);
jLabelEnchant.setBounds(10, 79, 127, 13);
}
return jLabelEnchant;
}
/**
* <p>getJLabel6x.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel6x() {
if (jLabelInstant == null) {
jLabelInstant = new JLabel();
jLabelInstant.setText("Instant:");
jLabelInstant.setLayout(null);
jLabelInstant.setBounds(10, 105, 127, 14);
}
return jLabelInstant;
}
/**
* <p>getJLabel7x.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel7x() {
if (jLabelLandType == null) {
jLabelLandType = new JLabel();
jLabelLandType.setText("Land:");
jLabelLandType.setLayout(null);
jLabelLandType.setBounds(10, 130, 127, 13);
}
return jLabelLandType;
}
/**
* <p>getJLabel8x.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel8x() {
if (jLabelPlaneswalker == null) {
jLabelPlaneswalker = new JLabel();
jLabelPlaneswalker.setText("Planeswalker:");
jLabelPlaneswalker.setLayout(null);
jLabelPlaneswalker.setBounds(10, 156, 127, 13);
}
return jLabelPlaneswalker;
}
/**
* <p>getJLabel10.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel10() {
if (jLabelSorcery == null) {
jLabelSorcery = new JLabel();
jLabelSorcery.setText("Sorcery:");
jLabelSorcery.setLayout(null);
jLabelSorcery.setBounds(10, 182, 127, 11);
}
return jLabelSorcery;
}
/**
* <p>Getter for the field <code>jPanel3</code>.</p>
*
* @return a {@link javax.swing.JPanel} object.
*/
private JPanel getJPanel3() {
if (jPanel3 == null) {
jPanel3 = new JPanel();
jPanel3.setBackground(new java.awt.Color(192, 192, 192));
jPanel3.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
jPanel3.setLayout(null);
jPanel3.setBounds(302, 35, 137, 203);
jPanel3.add(getJLabel1xxxx());
jPanel3.add(getJSeparator3());
jPanel3.add(getJLabel4xx());
jPanel3.add(getJLabel5xx());
jPanel3.add(getJLabel6xx());
jPanel3.add(getJLabel7xx());
jPanel3.add(getJLabel8xx());
jPanel3.add(getJLabel9());
jPanel3.add(getJLabel10x());
}
return jPanel3;
}
/**
* <p>getJLabel1xxxx.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel1xxxx() {
if (jLabelZeroMana == null) {
jLabelZeroMana = new JLabel();
jLabelZeroMana.setText("Zero mana:");
jLabelZeroMana.setPreferredSize(new java.awt.Dimension(105, 12));
jLabelZeroMana.setLayout(null);
jLabelZeroMana.setBounds(10, 28, 127, 13);
}
return jLabelZeroMana;
}
/**
* <p>Getter for the field <code>jSeparator3</code>.</p>
*
* @return a {@link javax.swing.JSeparator} object.
*/
private JSeparator getJSeparator3() {
if (jSeparator3 == null) {
jSeparator3 = new JSeparator();
jSeparator3.setPreferredSize(new java.awt.Dimension(117, 6));
jSeparator3.setLayout(null);
jSeparator3.setBounds(1, 20, 136, 5);
}
return jSeparator3;
}
/**
* <p>getJLabel4xx.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel4xx() {
if (jLabelManaCost == null) {
jLabelManaCost = new JLabel();
jLabelManaCost.setText("Mana cost");
jLabelManaCost.setHorizontalAlignment(SwingConstants.CENTER);
jLabelManaCost.setFont(new java.awt.Font("Segoe UI", 0, 14));
jLabelManaCost.setPreferredSize(new java.awt.Dimension(152, 39));
jLabelManaCost.setLayout(null);
jLabelManaCost.setBounds(2, -3, 135, 26);
}
return jLabelManaCost;
}
/**
* <p>getJLabel5xx.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel5xx() {
if (jLabelOneMana == null) {
jLabelOneMana = new JLabel();
jLabelOneMana.setText("One mana:");
jLabelOneMana.setLayout(null);
jLabelOneMana.setBounds(10, 53, 127, 13);
}
return jLabelOneMana;
}
/**
* <p>getJLabel6xx.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel6xx() {
if (jLabelTwoMana == null) {
jLabelTwoMana = new JLabel();
jLabelTwoMana.setText("Two mana:");
jLabelTwoMana.setLayout(null);
jLabelTwoMana.setBounds(10, 79, 127, 13);
}
return jLabelTwoMana;
}
/**
* <p>getJLabel7xx.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel7xx() {
if (jLabelThreeMana == null) {
jLabelThreeMana = new JLabel();
jLabelThreeMana.setText("Three mana:");
jLabelThreeMana.setLayout(null);
jLabelThreeMana.setBounds(10, 105, 127, 14);
}
return jLabelThreeMana;
}
/**
* <p>getJLabel8xx.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel8xx() {
if (jLabelFourMana == null) {
jLabelFourMana = new JLabel();
jLabelFourMana.setText("Four mana:");
jLabelFourMana.setLayout(null);
jLabelFourMana.setBounds(10, 130, 127, 13);
}
return jLabelFourMana;
}
/**
* <p>getJLabel9.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel9() {
if (jLabelFiveMana == null) {
jLabelFiveMana = new JLabel();
jLabelFiveMana.setText("Five mana:");
jLabelFiveMana.setLayout(null);
jLabelFiveMana.setBounds(10, 156, 127, 13);
}
return jLabelFiveMana;
}
/**
* <p>getJLabel10x.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel10x() {
if (jLabelSixMana == null) {
jLabelSixMana = new JLabel();
jLabelSixMana.setText("Six and more:");
jLabelSixMana.setLayout(null);
jLabelSixMana.setBounds(10, 182, 127, 11);
}
return jLabelSixMana;
}
/**
* <p>getJList1.</p>
*
* @return a {@link javax.swing.JList} object.
*/
private JList getJList1() {
CardList rList;
rList = tModel.getCards();
rList.shuffle();
ListModel jList1Model;
if (jListFirstHand == null) {
if (rList.size() >= 40) {
jList1Model =
new DefaultComboBoxModel(
new String[]{rList.getCard(0).getName(),
rList.getCard(1).getName(),
rList.getCard(2).getName(),
rList.getCard(3).getName(),
rList.getCard(4).getName(),
rList.getCard(5).getName(),
rList.getCard(6).getName()});
jListFirstHand = new JList();
} else {
jList1Model =
new DefaultComboBoxModel(
new String[]{"Few cards."});
jListFirstHand = new JList();
}
} else {
if (rList.size() >= 40) {
jList1Model =
new DefaultComboBoxModel(
new String[]{rList.getCard(0).getName(),
rList.getCard(1).getName(),
rList.getCard(2).getName(),
rList.getCard(3).getName(),
rList.getCard(4).getName(),
rList.getCard(5).getName(),
rList.getCard(6).getName()});
} else {
jList1Model =
new DefaultComboBoxModel(
new String[]{"Few cards."});
}
}
jListFirstHand.setModel(jList1Model);
jListFirstHand.setLayout(null);
jListFirstHand.setBackground(new java.awt.Color(192, 192, 192));
jListFirstHand.setSelectionBackground(new java.awt.Color(192, 192, 192));
jListFirstHand.setSelectionForeground(new java.awt.Color(0, 0, 0));
jListFirstHand.setFixedCellHeight(24);
jListFirstHand.setBounds(2, 21, 133, 167);
return jListFirstHand;
}
/**
* <p>Getter for the field <code>jPanel4</code>.</p>
*
* @return a {@link javax.swing.JPanel} object.
*/
private JPanel getJPanel4() {
if (jPanel4 == null) {
jPanel4 = new JPanel();
jPanel4.setBackground(new java.awt.Color(192, 192, 192));
jPanel4.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
jPanel4.setLayout(null);
jPanel4.setBounds(451, 35, 137, 202);
jPanel4.add(getJSeparator4());
jPanel4.add(getJLabel4xxx());
jPanel4.add(getJList1());
jPanel4.add(getJButton1());
} else {
jPanel4.removeAll();
MigLayout jPanel4Layout = new MigLayout();
jPanel4.setBackground(new java.awt.Color(192, 192, 192));
jPanel4.setPreferredSize(new java.awt.Dimension(139, 201));
jPanel4.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
jPanel4.setLayout(jPanel4Layout);
jPanel4.add(getJSeparator4());
jPanel4.add(getJLabel4xxx());
jPanel4.add(getJList1());
jPanel4.add(getJButton1());
}
return jPanel4;
}
/**
* <p>Getter for the field <code>jSeparator4</code>.</p>
*
* @return a {@link javax.swing.JSeparator} object.
*/
private JSeparator getJSeparator4() {
if (jSeparator4 == null) {
jSeparator4 = new JSeparator();
jSeparator4.setPreferredSize(new java.awt.Dimension(138, 8));
jSeparator4.setLayout(null);
jSeparator4.setBounds(0, 19, 137, 7);
}
return jSeparator4;
}
/**
* <p>getJLabel4xxx.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel4xxx() {
if (jLabel4 == null) {
jLabel4 = new JLabel();
jLabel4.setText("Random start hand");
jLabel4.setHorizontalAlignment(SwingConstants.CENTER);
jLabel4.setFont(new java.awt.Font("Segoe UI", 0, 14));
jLabel4.setPreferredSize(new java.awt.Dimension(136, 24));
jLabel4.setLayout(null);
jLabel4.setBounds(2, 0, 135, 20);
}
return jLabel4;
}
/**
* <p>getJButton1.</p>
*
* @return a {@link javax.swing.JButton} object.
*/
private JButton getJButton1() {
CardList rList;
rList = tModel.getCards();
if (jButtonRegenerate == null) {
if (rList.size() >= 40) {
jButtonRegenerate = new JButton();
jButtonRegenerate.setLayout(null);
jButtonRegenerate.setText("Regenerate hand");
jButtonRegenerate.setPreferredSize(new java.awt.Dimension(139, 21));
jButtonRegenerate.setBounds(2, 189, 133, 13);
jButtonRegenerate.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButtonRegenerate_actionPerformed(e);
}
});
} else {
jButtonRegenerate = new JButton();
jButtonRegenerate.setBounds(2, 189, 133, 13);
jButtonRegenerate.setVisible(false);
}
}
return jButtonRegenerate;
}
public class CustomListener implements MouseListener {
public void mouseClicked(MouseEvent e) {
jF.setEnabled(true);
dispose();
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
}
public class WListener implements WindowListener {
public void windowActivated(WindowEvent arg0) {
}
public void windowClosed(WindowEvent arg0) {
}
public void windowClosing(WindowEvent arg0) {
jF.setEnabled(true);
}
public void windowDeactivated(WindowEvent arg0) {
}
public void windowDeiconified(WindowEvent arg0) {
}
public void windowIconified(WindowEvent arg0) {
}
public void windowOpened(WindowEvent arg0) {
int cBlack, cBlue, cGreen, cRed, cWhite, cMulticolor, cColorless, cLand;
int cArtifact, cCreature, cEnchant, cInstant, cLandType, cPlaneswalker, cSorcery;
int mZero, mOne, mTwo, mThree, mFour, mFive, mSixMore;
float tManaCost;
Card c;
cBlack = 0;
cBlue = 0;
cGreen = 0;
cRed = 0;
cWhite = 0;
cMulticolor = 0;
cColorless = 0;
cLand = 0;
cArtifact = 0;
cCreature = 0;
cEnchant = 0;
cInstant = 0;
cLandType = 0;
cPlaneswalker = 0;
cSorcery = 0;
mZero = 0;
mOne = 0;
mTwo = 0;
mThree = 0;
mFour = 0;
mFive = 0;
mSixMore = 0;
tManaCost = 0;
CardList cList;
cList = tModel.getCards();
for (int i = 0; i < cList.size(); i++) {
c = cList.getCard(i);
if (CardUtil.getColors(c).size() > 1) {
cMulticolor = cMulticolor + 1;
} else {
if (CardUtil.getColors(c).contains(Constant.Color.Black)) {
cBlack = cBlack + 1;
}
if (CardUtil.getColors(c).contains(Constant.Color.Blue)) {
cBlue = cBlue + 1;
}
if (CardUtil.getColors(c).contains(Constant.Color.Green)) {
cGreen = cGreen + 1;
}
if (CardUtil.getColors(c).contains(Constant.Color.Red)) {
cRed = cRed + 1;
}
if (CardUtil.getColors(c).contains(Constant.Color.White)) {
cWhite = cWhite + 1;
}
if (CardUtil.getColors(c).contains(Constant.Color.Colorless)) {
if (c.isLand()) {
cLand = cLand + 1;
} else {
cColorless = cColorless + 1;
}
}
}
}
for (int i = 0; i < cList.size(); i++) {
c = cList.getCard(i);
if (c.isArtifact()) {
cArtifact = cArtifact + 1;
}
if (c.isCreature()) {
cCreature = cCreature + 1;
}
if (c.isEnchantment()) {
cEnchant = cEnchant + 1;
}
if (c.isInstant()) {
cInstant = cInstant + 1;
}
if (c.isLand()) {
cLandType = cLandType + 1;
}
if (c.isPlaneswalker()) {
cPlaneswalker = cPlaneswalker + 1;
}
if (c.isSorcery()) {
cSorcery = cSorcery + 1;
}
}
for (int i = 0; i < cList.size(); i++) {
c = cList.getCard(i);
if (CardUtil.getConvertedManaCost(c.getManaCost()) == 0) {
mZero = mZero + 1;
}
if (CardUtil.getConvertedManaCost(c.getManaCost()) == 1) {
mOne = mOne + 1;
}
if (CardUtil.getConvertedManaCost(c.getManaCost()) == 2) {
mTwo = mTwo + 1;
}
if (CardUtil.getConvertedManaCost(c.getManaCost()) == 3) {
mThree = mThree + 1;
}
if (CardUtil.getConvertedManaCost(c.getManaCost()) == 4) {
mFour = mFour + 1;
}
if (CardUtil.getConvertedManaCost(c.getManaCost()) == 5) {
mFive = mFive + 1;
}
if (CardUtil.getConvertedManaCost(c.getManaCost()) >= 6) {
mSixMore = mSixMore + 1;
}
}
for (int i = 0; i < cList.size(); i++) {
c = cList.getCard(i);
tManaCost = tManaCost + CardUtil.getConvertedManaCost(c.getManaCost());
}
BigDecimal aManaCost = new BigDecimal(tManaCost / cList.size());
aManaCost = aManaCost.setScale(2, BigDecimal.ROUND_HALF_UP);
jLabelTotal.setText("Information about deck (total cards: " + cList.size() + "):");
jLabelManaCost.setText("Mana cost (ACC:" + aManaCost + ")");
Color cr = new Color(100, 100, 100);
if (cBlack == 0) {
jLabelBlack.setForeground(cr);
}
jLabelBlack.setText("Black: " + cBlack + " (" + cBlack * 100 / cList.size() + "%)");
if (cBlue == 0) {
jLabelBlue.setForeground(cr);
}
jLabelBlue.setText("Blue: " + cBlue + " (" + cBlue * 100 / cList.size() + "%)");
if (cGreen == 0) {
jLabelGreen.setForeground(cr);
}
jLabelGreen.setText("Green: " + cGreen + " (" + cGreen * 100 / cList.size() + "%)");
if (cRed == 0) {
jLabelRed.setForeground(cr);
}
jLabelRed.setText("Red: " + cRed + " (" + cRed * 100 / cList.size() + "%)");
if (cWhite == 0) {
jLabelWhite.setForeground(cr);
}
jLabelWhite.setText("White: " + cWhite + " (" + cWhite * 100 / cList.size() + "%)");
if (cMulticolor == 0) {
jLabelMultiColor.setForeground(cr);
}
jLabelMultiColor.setText("Multicolor: " + cMulticolor + " (" + cMulticolor * 100 / cList.size() + "%)");
if (cColorless == 0) {
jLabelColorless.setForeground(cr);
}
jLabelColorless.setText("Colorless: " + cColorless + " (" + cColorless * 100 / cList.size() + "%)");
if (cLand == 0) {
jLabelLand.setForeground(cr);
}
jLabelLand.setText("Land: " + cLand + " (" + cLand * 100 / cList.size() + "%)");
if (cArtifact == 0) {
jLabelArtifact.setForeground(cr);
}
jLabelArtifact.setText("Artifact: " + cArtifact + " (" + cArtifact * 100 / cList.size() + "%)");
if (cCreature == 0) {
jLabelCreature.setForeground(cr);
}
jLabelCreature.setText("Creature: " + cCreature + " (" + cCreature * 100 / cList.size() + "%)");
if (cEnchant == 0) {
jLabelEnchant.setForeground(cr);
}
jLabelEnchant.setText("Enchant: " + cEnchant + " (" + cEnchant * 100 / cList.size() + "%)");
if (cInstant == 0) {
jLabelInstant.setForeground(cr);
}
jLabelInstant.setText("Instant: " + cInstant + " (" + cInstant * 100 / cList.size() + "%)");
if (cLandType == 0) {
jLabelLandType.setForeground(cr);
}
jLabelLandType.setText("Land: " + cLandType + " (" + cLandType * 100 / cList.size() + "%)");
if (cPlaneswalker == 0) {
jLabelPlaneswalker.setForeground(cr);
}
jLabelPlaneswalker.setText("Planeswalker: " + cPlaneswalker + " (" + cPlaneswalker * 100 / cList.size() + "%)");
if (cSorcery == 0) {
jLabelSorcery.setForeground(cr);
}
jLabelSorcery.setText("Sorcery: " + cSorcery + " (" + cSorcery * 100 / cList.size() + "%)");
if (mZero == 0) {
jLabelZeroMana.setForeground(cr);
}
jLabelZeroMana.setText("Zero mana: " + mZero + " (" + mZero * 100 / cList.size() + "%)");
if (mOne == 0) {
jLabelOneMana.setForeground(cr);
}
jLabelOneMana.setText("One mana: " + mOne + " (" + mOne * 100 / cList.size() + "%)");
if (mTwo == 0) {
jLabelTwoMana.setForeground(cr);
}
jLabelTwoMana.setText("Two mana: " + mTwo + " (" + mTwo * 100 / cList.size() + "%)");
if (mThree == 0) {
jLabelThreeMana.setForeground(cr);
}
jLabelThreeMana.setText("Three mana :" + mThree + " (" + mThree * 100 / cList.size() + "%)");
if (mFour == 0) {
jLabelFourMana.setForeground(cr);
}
jLabelFourMana.setText("Four mana: " + mFour + " (" + mFour * 100 / cList.size() + "%)");
if (mFive == 0) {
jLabelFiveMana.setForeground(cr);
}
jLabelFiveMana.setText("Five mana: " + mFive + " (" + mFive * 100 / cList.size() + "%)");
if (mSixMore == 0) {
jLabelSixMana.setForeground(cr);
}
jLabelSixMana.setText("Six and more: " + mSixMore + " (" + mSixMore * 100 / cList.size() + "%)");
}
}
/**
* <p>jButtonRegenerate_actionPerformed.</p>
*
* @param e a {@link java.awt.event.ActionEvent} object.
*/
void jButtonRegenerate_actionPerformed(ActionEvent e) {
getContentPane().removeAll();
getContentPane().add(getJPanel5());
getContentPane().add(getJLabel1xx());
getContentPane().add(getJButtonOk());
getContentPane().add(getJPanel1());
getContentPane().add(getJPanel2());
getContentPane().add(getJPanel3());
getContentPane().add(getJPanel4());
getContentPane().add(getJPanel5());
getContentPane().add(getJLabel1xxxxx());
getContentPane().repaint();
}
/**
* <p>Getter for the field <code>jPanel5</code>.</p>
*
* @return a {@link javax.swing.JPanel} object.
*/
private JPanel getJPanel5() {
if (jPanel5 == null) {
jPanel5 = new JPanel();
jPanel5.setLayout(null);
jPanel5.setBounds(5, 262, 583, 270);
jPanel5.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
jPanel5.add(getJScrollPane1());
}
return jPanel5;
}
/**
* <p>Getter for the field <code>jTable1</code>.</p>
*
* @return a {@link javax.swing.JTable} object.
*/
private JTable getJTable1() {
if (jTable1 == null) {
DefaultTableModel dm = new DefaultTableModel();
dm.setDataVector(new Object[][]{{}}, new Object[]{"Card", "Qty", "1st", "2nd", "3rd", "4th", "5th", "6th", "7th"});
jTable1 = new JTable(dm);
CardList rList;
rList = tModel.getCards();
String[] cardsName = new String[rList.size()];
int cCount;
float fCount;
float firstTurnF, secondTurnF, thirdTurnF, fourthTurnF, fivethTurnF, sixthTurnF, seventhTurnF;
for (int i = 0; i < rList.size(); i++) {
cardsName[i] = rList.getCard(i).getName();
}
Arrays.sort(cardsName);
jTable1.setValueAt("Few cards.", 0, 0);
if (rList.size() >= 40) {
jTable1.setValueAt(cardsName[0], 0, 0);
cCount = 1;
for (int i = 1; i < cardsName.length; i++) {
if (cardsName[i].equals(cardsName[i - 1])) {
cCount = cCount + 1;
} else {
dm.addRow(new Object[][]{{}});
jTable1.setValueAt(cardsName[i], dm.getRowCount() - 1, 0);
jTable1.setValueAt(cCount, dm.getRowCount() - 2, 1);
fCount = cCount;
firstTurnF = fCount / rList.size();
BigDecimal firstTurn = new BigDecimal(firstTurnF * 100);
firstTurn = firstTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(firstTurn.toString() + " %", dm.getRowCount() - 2, 2);
secondTurnF = (1 - firstTurnF) * fCount / (rList.size() - 1) + firstTurnF;
BigDecimal secondTurn = new BigDecimal(secondTurnF * 100);
secondTurn = secondTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(secondTurn.toString() + " %", dm.getRowCount() - 2, 3);
thirdTurnF = (1 - secondTurnF) * fCount / (rList.size() - 2) + secondTurnF;
BigDecimal thirdTurn = new BigDecimal(thirdTurnF * 100);
thirdTurn = thirdTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(thirdTurn.toString() + " %", dm.getRowCount() - 2, 4);
fourthTurnF = (1 - thirdTurnF) * fCount / (rList.size() - 3) + thirdTurnF;
BigDecimal fourthTurn = new BigDecimal(fourthTurnF * 100);
fourthTurn = fourthTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(fourthTurn.toString() + " %", dm.getRowCount() - 2, 5);
fivethTurnF = (1 - fourthTurnF) * fCount / (rList.size() - 4) + fourthTurnF;
BigDecimal fivethTurn = new BigDecimal(fivethTurnF * 100);
fivethTurn = fivethTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(fivethTurn.toString() + " %", dm.getRowCount() - 2, 6);
sixthTurnF = (1 - fivethTurnF) * fCount / (rList.size() - 5) + fivethTurnF;
BigDecimal sixthTurn = new BigDecimal(sixthTurnF * 100);
sixthTurn = sixthTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(sixthTurn.toString() + " %", dm.getRowCount() - 2, 7);
seventhTurnF = (1 - sixthTurnF) * fCount / (rList.size() - 6) + sixthTurnF;
BigDecimal seventhTurn = new BigDecimal(seventhTurnF * 100);
seventhTurn = seventhTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(seventhTurn.toString() + " %", dm.getRowCount() - 2, 8);
cCount = 1;
}
if (i == cardsName.length - 1) {
jTable1.setValueAt(cCount, dm.getRowCount() - 1, 1);
fCount = cCount;
firstTurnF = fCount / rList.size();
BigDecimal firstTurn = new BigDecimal(firstTurnF * 100);
firstTurn = firstTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(firstTurn.toString() + " %", dm.getRowCount() - 1, 2);
secondTurnF = (1 - firstTurnF) * fCount / (rList.size() - 1) + firstTurnF;
BigDecimal secondTurn = new BigDecimal(secondTurnF * 100);
secondTurn = secondTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(secondTurn.toString() + " %", dm.getRowCount() - 1, 3);
thirdTurnF = (1 - secondTurnF) * fCount / (rList.size() - 2) + secondTurnF;
BigDecimal thirdTurn = new BigDecimal(thirdTurnF * 100);
thirdTurn = thirdTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(thirdTurn.toString() + " %", dm.getRowCount() - 1, 4);
fourthTurnF = (1 - thirdTurnF) * fCount / (rList.size() - 3) + thirdTurnF;
BigDecimal fourthTurn = new BigDecimal(fourthTurnF * 100);
fourthTurn = fourthTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(fourthTurn.toString() + " %", dm.getRowCount() - 1, 5);
fivethTurnF = (1 - fourthTurnF) * fCount / (rList.size() - 4) + fourthTurnF;
BigDecimal fivethTurn = new BigDecimal(fivethTurnF * 100);
fivethTurn = fivethTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(fivethTurn.toString() + " %", dm.getRowCount() - 1, 6);
sixthTurnF = (1 - fivethTurnF) * fCount / (rList.size() - 5) + fivethTurnF;
BigDecimal sixthTurn = new BigDecimal(sixthTurnF * 100);
sixthTurn = sixthTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(sixthTurn.toString() + " %", dm.getRowCount() - 1, 7);
seventhTurnF = (1 - sixthTurnF) * fCount / (rList.size() - 6) + sixthTurnF;
BigDecimal seventhTurn = new BigDecimal(seventhTurnF * 100);
seventhTurn = seventhTurn.setScale(1, BigDecimal.ROUND_HALF_UP);
jTable1.setValueAt(seventhTurn.toString() + " %", dm.getRowCount() - 1, 8);
}
}
}
jTable1.getColumn("Qty").setMaxWidth(50);
jTable1.getColumn("1st").setMaxWidth(50);
jTable1.getColumn("2nd").setMaxWidth(50);
jTable1.getColumn("3rd").setMaxWidth(50);
jTable1.getColumn("4th").setMaxWidth(50);
jTable1.getColumn("5th").setMaxWidth(50);
jTable1.getColumn("6th").setMaxWidth(50);
jTable1.getColumn("7th").setMaxWidth(50);
jTable1.setRowHeight(18);
jTable1.setPreferredSize(new java.awt.Dimension(576, 18 * dm.getRowCount() + 3));
}
return jTable1;
}
/**
* <p>Getter for the field <code>jScrollPane1</code>.</p>
*
* @return a {@link javax.swing.JScrollPane} object.
*/
private JScrollPane getJScrollPane1() {
if (jScrollPane1 == null) {
jScrollPane1 = new JScrollPane();
jScrollPane1.setBounds(2, 2, 582, 268);
jScrollPane1.setSize(580, 268);
jScrollPane1.setViewportView(getJTable1());
}
return jScrollPane1;
}
/**
* <p>getJLabel1xxxxx.</p>
*
* @return a {@link javax.swing.JLabel} object.
*/
private JLabel getJLabel1xxxxx() {
if (jLabel1 == null) {
jLabel1 = new JLabel();
jLabel1.setText("Draw Probabilities:");
jLabel1.setLayout(null);
jLabel1.setBounds(7, 237, 447, 25);
}
return jLabel1;
}
}