commit 1aebdfdc8163cc975e53b3526721001e79cee36a
parent 3e222d8a4d4024a8c404340cb6dbe2cc8227b6f9
Author: Michael Neuper <73108749+michaelneuper@users.noreply.github.com>
Date: Sat, 11 Feb 2023 16:24:05 +0200
Rename GUI to MainGUI
Diffstat:
3 files changed, 345 insertions(+), 344 deletions(-)
diff --git a/src/view/GUI.java b/src/view/GUI.java
@@ -1,344 +0,0 @@
-package view;
-
-import controller.Controller;
-import javax.swing.JOptionPane;
-
-/**
- *
- * @author Michael
- */
-public class GUI extends javax.swing.JFrame {
-
- Controller game = new Controller();
-
- /**
- * Creates new form GUI
- */
- public GUI() {
- initComponents();
- }
-
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
- private void initComponents() {
-
- jPanel3 = new javax.swing.JPanel();
- jLabelBalance = new javax.swing.JLabel();
- jButtonDouble = new javax.swing.JButton();
- jButtonStand = new javax.swing.JButton();
- jButtonHit = new javax.swing.JButton();
- jButtonDeal = new javax.swing.JButton();
- jButtonBetAmount = new javax.swing.JButton();
- jLabelCurrentBet = new javax.swing.JLabel();
- jLabelResult = new javax.swing.JLabel();
- jLabelDisplayDealerHand = new javax.swing.JLabel();
- jLabelDisplayPlayerHand = new javax.swing.JLabel();
- jLabelDealerHand = new javax.swing.JLabel();
- jLabelPlayerHand = new javax.swing.JLabel();
- jButtonExit = new javax.swing.JButton();
- jLabelDealerHandValue = new javax.swing.JLabel();
- jLabelPlayerHandValue = new javax.swing.JLabel();
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setTitle("librejack");
- setForeground(new java.awt.Color(0, 102, 0));
-
- javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
- jPanel3.setLayout(jPanel3Layout);
- jPanel3Layout.setHorizontalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 100, Short.MAX_VALUE)
- );
- jPanel3Layout.setVerticalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 100, Short.MAX_VALUE)
- );
-
- jLabelBalance.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
- jLabelBalance.setText("Balance: " + game.getBalance());
-
- jButtonDouble.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jButtonDouble.setText("DOUBLE DOWN");
- jButtonDouble.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonDoubleActionPerformed(evt);
- }
- });
-
- jButtonStand.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jButtonStand.setText("STAND");
- jButtonStand.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonStandActionPerformed(evt);
- }
- });
-
- jButtonHit.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jButtonHit.setText("HIT");
- jButtonHit.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonHitActionPerformed(evt);
- }
- });
-
- jButtonDeal.setFont(new java.awt.Font("Dialog", 1, 48)); // NOI18N
- jButtonDeal.setText("DEAL");
- jButtonDeal.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonDealActionPerformed(evt);
- }
- });
-
- jButtonBetAmount.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
- jButtonBetAmount.setText("Change Bet Amount");
- jButtonBetAmount.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonBetAmountActionPerformed(evt);
- }
- });
-
- jLabelCurrentBet.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
- jLabelCurrentBet.setText("Current Bet: " + game.getBet());
-
- jLabelResult.setFont(new java.awt.Font("Dialog", 1, 48)); // NOI18N
- jLabelResult.setText(game.checkWhoWins());
-
- jLabelDisplayPlayerHand.setText(game.displayPlayerHand());
-
- jLabelDealerHand.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
- jLabelDealerHand.setText("Dealer's Hand:");
-
- jLabelPlayerHand.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
- jLabelPlayerHand.setText("Your Hand:");
-
- jButtonExit.setText("EXIT");
- jButtonExit.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonExitActionPerformed(evt);
- }
- });
-
- jLabelDealerHandValue.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
-
- jLabelPlayerHandValue.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
-
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(60, 60, 60)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabelDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 270, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(72, 72, 72))
- .addGroup(layout.createSequentialGroup()
- .addGap(18, 18, 18)
- .addComponent(jLabelDealerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
- .addComponent(jButtonHit, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(108, 108, 108))
- .addComponent(jLabelBalance, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addGroup(layout.createSequentialGroup()
- .addGap(60, 60, 60)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabelCurrentBet, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jButtonBetAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(140, 140, 140)
- .addComponent(jButtonDeal, javax.swing.GroupLayout.PREFERRED_SIZE, 460, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(80, 80, 80)
- .addComponent(jButtonDouble, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addGap(1132, 1132, 1132)
- .addComponent(jButtonExit, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addGap(70, 70, 70)
- .addComponent(jLabelDisplayDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 440, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(20, 20, 20)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabelPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jLabelPlayerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabelDisplayPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 400, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(30, 30, 30)
- .addComponent(jButtonStand, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE))))
- .addGroup(layout.createSequentialGroup()
- .addGap(256, 256, 256)
- .addComponent(jLabelResult, javax.swing.GroupLayout.PREFERRED_SIZE, 894, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap())
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(24, 24, 24)
- .addComponent(jLabelResult, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(40, 40, 40)
- .addComponent(jLabelPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabelPlayerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(2, 2, 2))))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabelDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabelDealerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addComponent(jButtonHit, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(2, 2, 2)))))
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabelDisplayDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createSequentialGroup()
- .addGap(10, 10, 10)
- .addComponent(jLabelDisplayPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addGap(50, 50, 50)
- .addComponent(jButtonStand, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGap(20, 20, 20)
- .addComponent(jLabelBalance, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(10, 10, 10)
- .addComponent(jLabelCurrentBet, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(10, 10, 10)
- .addComponent(jButtonBetAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addGap(60, 60, 60)
- .addComponent(jButtonDeal, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addComponent(jButtonDouble, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(23, 23, 23)
- .addComponent(jButtonExit, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
- );
-
- pack();
- }// </editor-fold>//GEN-END:initComponents
-
- private void jButtonDealActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDealActionPerformed
- jLabelResult.setText(""); // clear the last result
- jLabelBalance.setText("Balance: " + game.getBalance()); // update the balance
- game.startRound();
- jLabelDisplayDealerHand.setText(game.displayDealerFirstCard());
- jLabelDealerHandValue.setText(game.displayDealerFirstCardValue());
- printPlayerHand();
- }//GEN-LAST:event_jButtonDealActionPerformed
-
- private void jButtonBetAmountActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonBetAmountActionPerformed
- game.setBet(Double.parseDouble(JOptionPane.showInputDialog("Enter the bet amount")));
- jLabelCurrentBet.setText("Current Bet: " + Double.toString(game.getBet()));
- }//GEN-LAST:event_jButtonBetAmountActionPerformed
-
- private void jButtonStandActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonStandActionPerformed
-
- printDealerHand();
- jLabelResult.setText(game.checkWhoWins());
- printDealerHand();
- jLabelBalance.setText("Balance: " + game.getBalance()); // update the balance
- }//GEN-LAST:event_jButtonStandActionPerformed
-
- private void jButtonDoubleActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDoubleActionPerformed
- game.setBet(game.getBet() * 2); // double the bet
- game.hitPlayer();
- game.setBet(game.getBet() / 2); // reset bet back to original bet
- printPlayerHand();
- printDealerHand();
- jLabelResult.setText(game.checkWhoWins());
- jLabelBalance.setText("Balance: " + game.getBalance()); // update the balance
- }//GEN-LAST:event_jButtonDoubleActionPerformed
-
- private void jButtonHitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonHitActionPerformed
- game.hitPlayer();
- printPlayerHand();
- printDealerHand();
- jLabelResult.setText(game.checkWhoWins());
- jLabelBalance.setText("Balance: " + game.getBalance()); // update the balance
- }//GEN-LAST:event_jButtonHitActionPerformed
-
- private void jButtonExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonExitActionPerformed
- // TODO: add exit operation
- }//GEN-LAST:event_jButtonExitActionPerformed
-
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- /* Set the Nimbus look and feel */
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- */
- try {
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- } catch (ClassNotFoundException ex) {
- java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (InstantiationException ex) {
- java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
-
- /* Create and display the form */
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- new GUI().setVisible(true);
- }
- });
- }
-
- public void printDealerHand() {
- jLabelDisplayDealerHand.setText(game.displayDealerHand());
- jLabelDealerHandValue.setText(game.displayDealerHandValue());
- }
-
- public void printPlayerHand() {
- jLabelDisplayPlayerHand.setText(game.displayPlayerHand());
- jLabelPlayerHandValue.setText(game.displayPlayerHandValue());
- }
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JButton jButtonBetAmount;
- private javax.swing.JButton jButtonDeal;
- private javax.swing.JButton jButtonDouble;
- private javax.swing.JButton jButtonExit;
- private javax.swing.JButton jButtonHit;
- private javax.swing.JButton jButtonStand;
- private javax.swing.JLabel jLabelBalance;
- private javax.swing.JLabel jLabelCurrentBet;
- private javax.swing.JLabel jLabelDealerHand;
- private javax.swing.JLabel jLabelDealerHandValue;
- private javax.swing.JLabel jLabelDisplayDealerHand;
- private javax.swing.JLabel jLabelDisplayPlayerHand;
- private javax.swing.JLabel jLabelPlayerHand;
- private javax.swing.JLabel jLabelPlayerHandValue;
- private javax.swing.JLabel jLabelResult;
- private javax.swing.JPanel jPanel3;
- // End of variables declaration//GEN-END:variables
-}
diff --git a/src/view/GUI.form b/src/view/MainGUI.form
diff --git a/src/view/MainGUI.java b/src/view/MainGUI.java
@@ -0,0 +1,345 @@
+package view;
+
+import controller.Controller;
+import javax.swing.JOptionPane;
+
+/**
+ *
+ * @author Michael
+ */
+public class MainGUI extends javax.swing.JFrame {
+
+ Controller game = new Controller();
+
+ /**
+ * Creates new form GUI
+ */
+ public MainGUI() {
+ initComponents();
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ jPanel3 = new javax.swing.JPanel();
+ jLabelBalance = new javax.swing.JLabel();
+ jButtonDouble = new javax.swing.JButton();
+ jButtonStand = new javax.swing.JButton();
+ jButtonHit = new javax.swing.JButton();
+ jButtonDeal = new javax.swing.JButton();
+ jButtonBetAmount = new javax.swing.JButton();
+ jLabelCurrentBet = new javax.swing.JLabel();
+ jLabelResult = new javax.swing.JLabel();
+ jLabelDisplayDealerHand = new javax.swing.JLabel();
+ jLabelDisplayPlayerHand = new javax.swing.JLabel();
+ jLabelDealerHand = new javax.swing.JLabel();
+ jLabelPlayerHand = new javax.swing.JLabel();
+ jButtonExit = new javax.swing.JButton();
+ jLabelDealerHandValue = new javax.swing.JLabel();
+ jLabelPlayerHandValue = new javax.swing.JLabel();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+ setTitle("librejack");
+ setForeground(new java.awt.Color(0, 102, 0));
+
+ javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
+ jPanel3.setLayout(jPanel3Layout);
+ jPanel3Layout.setHorizontalGroup(
+ jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 100, Short.MAX_VALUE)
+ );
+ jPanel3Layout.setVerticalGroup(
+ jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 100, Short.MAX_VALUE)
+ );
+
+ jLabelBalance.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
+ jLabelBalance.setText("Balance: " + game.getBalance());
+
+ jButtonDouble.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
+ jButtonDouble.setText("DOUBLE DOWN");
+ jButtonDouble.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonDoubleActionPerformed(evt);
+ }
+ });
+
+ jButtonStand.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
+ jButtonStand.setText("STAND");
+ jButtonStand.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonStandActionPerformed(evt);
+ }
+ });
+
+ jButtonHit.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
+ jButtonHit.setText("HIT");
+ jButtonHit.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonHitActionPerformed(evt);
+ }
+ });
+
+ jButtonDeal.setFont(new java.awt.Font("Dialog", 1, 48)); // NOI18N
+ jButtonDeal.setText("DEAL");
+ jButtonDeal.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonDealActionPerformed(evt);
+ }
+ });
+
+ jButtonBetAmount.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
+ jButtonBetAmount.setText("Change Bet Amount");
+ jButtonBetAmount.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonBetAmountActionPerformed(evt);
+ }
+ });
+
+ jLabelCurrentBet.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
+ jLabelCurrentBet.setText("Current Bet: " + game.getBet());
+
+ jLabelResult.setFont(new java.awt.Font("Dialog", 1, 48)); // NOI18N
+ jLabelResult.setText(game.checkWhoWins());
+
+ jLabelDisplayPlayerHand.setText(game.displayPlayerHand());
+
+ jLabelDealerHand.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
+ jLabelDealerHand.setText("Dealer's Hand:");
+
+ jLabelPlayerHand.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
+ jLabelPlayerHand.setText("Your Hand:");
+
+ jButtonExit.setText("EXIT");
+ jButtonExit.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonExitActionPerformed(evt);
+ }
+ });
+
+ jLabelDealerHandValue.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
+
+ jLabelPlayerHandValue.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
+
+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+ getContentPane().setLayout(layout);
+ layout.setHorizontalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addGap(60, 60, 60)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addComponent(jLabelDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 270, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(72, 72, 72))
+ .addGroup(layout.createSequentialGroup()
+ .addGap(18, 18, 18)
+ .addComponent(jLabelDealerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+ .addComponent(jButtonHit, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(108, 108, 108))
+ .addComponent(jLabelBalance, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addGroup(layout.createSequentialGroup()
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+ .addGroup(layout.createSequentialGroup()
+ .addGap(60, 60, 60)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelCurrentBet, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jButtonBetAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(140, 140, 140)
+ .addComponent(jButtonDeal, javax.swing.GroupLayout.PREFERRED_SIZE, 460, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(80, 80, 80)
+ .addComponent(jButtonDouble, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(layout.createSequentialGroup()
+ .addGap(1132, 1132, 1132)
+ .addComponent(jButtonExit, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(layout.createSequentialGroup()
+ .addGap(70, 70, 70)
+ .addComponent(jLabelDisplayDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 440, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(20, 20, 20)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addComponent(jLabelPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(jLabelPlayerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(layout.createSequentialGroup()
+ .addComponent(jLabelDisplayPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 400, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(30, 30, 30)
+ .addComponent(jButtonStand, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE))))
+ .addGroup(layout.createSequentialGroup()
+ .addGap(256, 256, 256)
+ .addComponent(jLabelResult, javax.swing.GroupLayout.PREFERRED_SIZE, 894, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addContainerGap())
+ );
+ layout.setVerticalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addGap(24, 24, 24)
+ .addComponent(jLabelResult, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addGap(40, 40, 40)
+ .addComponent(jLabelPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabelPlayerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(2, 2, 2))))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabelDealerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+ .addComponent(jButtonHit, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(2, 2, 2)))))
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelDisplayDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGroup(layout.createSequentialGroup()
+ .addGap(10, 10, 10)
+ .addComponent(jLabelDisplayPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(layout.createSequentialGroup()
+ .addGap(50, 50, 50)
+ .addComponent(jButtonStand, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addGap(20, 20, 20)
+ .addComponent(jLabelBalance, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addGap(10, 10, 10)
+ .addComponent(jLabelCurrentBet, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(10, 10, 10)
+ .addComponent(jButtonBetAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(layout.createSequentialGroup()
+ .addGap(60, 60, 60)
+ .addComponent(jButtonDeal, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addComponent(jButtonDouble, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(23, 23, 23)
+ .addComponent(jButtonExit, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+
+ pack();
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void jButtonDealActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDealActionPerformed
+ jLabelResult.setText(""); // clear the last result
+ jLabelBalance.setText("Balance: " + game.getBalance()); // update the balance
+ game.startRound();
+ jLabelDisplayDealerHand.setText(game.displayDealerFirstCard());
+ jLabelDealerHandValue.setText(game.displayDealerFirstCardValue());
+ printPlayerHand();
+ }//GEN-LAST:event_jButtonDealActionPerformed
+
+ private void jButtonBetAmountActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonBetAmountActionPerformed
+ game.setBet(Double.parseDouble(JOptionPane.showInputDialog("Enter the bet amount")));
+ jLabelCurrentBet.setText("Current Bet: " + Double.toString(game.getBet()));
+ }//GEN-LAST:event_jButtonBetAmountActionPerformed
+
+ private void jButtonStandActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonStandActionPerformed
+
+ printDealerHand();
+ jLabelResult.setText(game.checkWhoWins());
+ printDealerHand();
+ jLabelBalance.setText("Balance: " + game.getBalance()); // update the balance
+ }//GEN-LAST:event_jButtonStandActionPerformed
+
+ private void jButtonDoubleActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDoubleActionPerformed
+ game.setBet(game.getBet() * 2); // double the bet
+ game.hitPlayer();
+ game.setBet(game.getBet() / 2); // reset bet back to original bet
+ printPlayerHand();
+ printDealerHand();
+ jLabelResult.setText(game.checkWhoWins());
+ jLabelBalance.setText("Balance: " + game.getBalance()); // update the balance
+ }//GEN-LAST:event_jButtonDoubleActionPerformed
+
+ private void jButtonHitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonHitActionPerformed
+ game.hitPlayer();
+ printPlayerHand();
+ printDealerHand();
+ jLabelResult.setText(game.checkWhoWins());
+ jLabelBalance.setText("Balance: " + game.getBalance()); // update the balance
+ }//GEN-LAST:event_jButtonHitActionPerformed
+
+ private void jButtonExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonExitActionPerformed
+ // TODO: add exit operation
+ }//GEN-LAST:event_jButtonExitActionPerformed
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String args[]) {
+ /* Set the Nimbus look and feel */
+ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
+ /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
+ * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
+ */
+ try {
+ for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
+ if ("Nimbus".equals(info.getName())) {
+ javax.swing.UIManager.setLookAndFeel(info.getClassName());
+ break;
+ }
+ }
+ } catch (ClassNotFoundException ex) {
+ java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+ } catch (InstantiationException ex) {
+ java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+ } catch (IllegalAccessException ex) {
+ java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+ } catch (javax.swing.UnsupportedLookAndFeelException ex) {
+ java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+ }
+ //</editor-fold>
+ //</editor-fold>
+
+ /* Create and display the form */
+ java.awt.EventQueue.invokeLater(new Runnable() {
+ public void run() {
+ new MainGUI().setVisible(true);
+ }
+ });
+ }
+
+ public void printDealerHand() {
+ jLabelDisplayDealerHand.setText(game.displayDealerHand());
+ jLabelDealerHandValue.setText(game.displayDealerHandValue());
+ }
+
+ public void printPlayerHand() {
+ jLabelDisplayPlayerHand.setText(game.displayPlayerHand());
+ jLabelPlayerHandValue.setText(game.displayPlayerHandValue());
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JButton jButtonBetAmount;
+ private javax.swing.JButton jButtonDeal;
+ private javax.swing.JButton jButtonDouble;
+ private javax.swing.JButton jButtonExit;
+ private javax.swing.JButton jButtonHit;
+ private javax.swing.JButton jButtonStand;
+ private javax.swing.JLabel jLabelBalance;
+ private javax.swing.JLabel jLabelCurrentBet;
+ private javax.swing.JLabel jLabelDealerHand;
+ private javax.swing.JLabel jLabelDealerHandValue;
+ private javax.swing.JLabel jLabelDisplayDealerHand;
+ private javax.swing.JLabel jLabelDisplayPlayerHand;
+ private javax.swing.JLabel jLabelPlayerHand;
+ private javax.swing.JLabel jLabelPlayerHandValue;
+ private javax.swing.JLabel jLabelResult;
+ private javax.swing.JPanel jPanel3;
+ // End of variables declaration//GEN-END:variables
+}