Note that there are some explanatory texts on larger screens.

plurals
  1. POJava applet buttons are not displayed until i hover the mouse over them
    primarykey
    data
    text
    <p>So My problem is that the applet lunches with nothing in it as soon as i hover the mouse on top of the buttons it displays them and works perfectly afterwards. I think there might be something wrong with paint but i am not sure. I tried several changes but noting seems to work. Any help will be much appreciated.</p> <p>-- Rafael</p> <pre><code> import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class poker extends JApplet implements ActionListener, ListSelectionListener { private DefaultListModel listModel = new DefaultListModel(); JList jList = new JList(listModel); JButton dealButton = new JButton("Deal"); JButton quitButton = new JButton("Quit"); JButton finishButton = new JButton("finish"); JPanel panel = new JPanel(); JPanel jPanel = new JPanel(); JPanel lPanel = new JPanel(); JLabel label = new JLabel(); JLabel balance = new JLabel(); private String displayDeal = null; private String displayFinish = null; private poker.Card deck[]; private int currentCard; private double money = 0; private poker.Card hand[]; private boolean nothing; private boolean pair; private boolean twoPair; private boolean threeKind; private boolean fourKind; private boolean fullHouse; private boolean flush; private boolean straight; private boolean royalStraight; private boolean straightFlush; private boolean RoyalFlush; String faces[] = {"Deuce", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King", "Ace"}; String suits[] = {"Hearts", "Diamonds", "Clubs", "Spades"}; @Override public void init() { this.setSize(500, 500); this.setLayout(new BorderLayout()); jList.addListSelectionListener(this); jList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); hand = new poker.Card[5]; deck = new poker.Card[52]; currentCard = -1; for (int i = 0; i &lt; deck.length; i++) { deck[i] = new poker.Card(faces[i % 13], suits[i / 13]); } listModel.setSize(5); dealButton.addActionListener(this); finishButton.addActionListener(this); quitButton.addActionListener(this); finishButton.setEnabled(false); panel.add(dealButton); panel.add(finishButton); panel.add(quitButton); panel.add(label); jPanel.add(jList); add(balance, BorderLayout.CENTER); add(panel, BorderLayout.SOUTH); add(jPanel, BorderLayout.NORTH); setVisible(true); } class Card { @Override public String toString() { return face + " of " + suit + "\n"; } public String getFace() { return face; } public String getSuit() { return suit; } private String face; private String suit; public Card(String s, String s1) { face = s; suit = s1; } } @Override public void valueChanged(ListSelectionEvent event) { int[] indices = jList.getSelectedIndices(); if (indices.length &gt; 4) { JOptionPane.showMessageDialog(null, "You may only select four " + "cards."); jList.clearSelection(); } } @Override public void actionPerformed(ActionEvent event) { poker.Card card = null; if (event.getSource() == dealButton) {//////////////////////////// finishButton.setEnabled(true); dealButton.setEnabled(false); label.setText(null); shuffle();// reset deck for (int j = 0; j &lt; 5; j++) { card = dealCard(); hand[j] = card; listModel.setElementAt(hand[j], j); } if (money &lt; -1000) { JOptionPane.showMessageDialog(null, "GAME OVER. You have no " + "more money. "); System.exit(0); } //evaluate(); label.setText(displayDeal); displayDeal = null; } else if (event.getSource() == finishButton) {/////////////////////// dealButton.setEnabled(true); finishButton.setEnabled(false); int c = 5; //to get new card from deck int maxIndex = jList.getMaxSelectionIndex(); for (int l = 0; l &lt;= maxIndex; l++) { if (jList.isSelectedIndex(l)) { listModel.removeElementAt(l); listModel.add(l, deck[c]); c++; } } jList.revalidate(); jPanel.repaint(); evaluate(); giveMoney(); label.setText(displayFinish); balance.setHorizontalAlignment(SwingConstants.CENTER); balance.setText("Money: $" + money ); jList.clearSelection(); displayFinish = null; } else if (event.getSource() == quitButton) {/////////////////////// label.setText(null); balance.setHorizontalAlignment(SwingConstants.CENTER); balance.setText("You have won $" + money + " dollars."); int confirmed = JOptionPane.showConfirmDialog(null, "Are you sure you want to exit?", "User Confirmation", JOptionPane.YES_NO_OPTION); if (confirmed == JOptionPane.YES_OPTION) { dealButton.setEnabled(false); finishButton.setEnabled(false); quitButton.setEnabled(false); System.exit(0); } } this.setVisible(true); this.validate(); } // giveMoney() keeps track of the money. public void giveMoney() { if (nothing) { money += -20.00; nothing = false; } if (pair) { money += 50.00; pair = false; } if (twoPair) { money += 100.00; twoPair = false; } if (threeKind) { money += 150.00; threeKind = false; } if (straight) { money += 200.00; straight = false; } if (royalStraight) { money += 200.00; royalStraight = false; } if (flush) { money += 250.00; flush = false; } if (fullHouse) { money += 300; } if (fourKind) { money += 400.00; fourKind = false; } if (straightFlush) { money += 500.00; straightFlush = false; } if (RoyalFlush) { money += 1000.00; RoyalFlush = false; } this.validate(); } // populates deck array public void shuffle() { currentCard = -1; for (int i = 0; i &lt; deck.length; i++) { int j = (int) (Math.random() * 52D); poker.Card card = deck[i]; deck[i] = deck[j]; deck[j] = card; } this.validate(); } public poker.Card dealCard() { if (++currentCard &lt; deck.length) { return deck[currentCard]; } else { dealButton.setEnabled(false); return null; } } public void evaluate() { int i = 0; String setOf = null; nothing = false; pair = false; twoPair = false; threeKind = false; straight = false; royalStraight = false; flush = false; fullHouse = false; fourKind = false; straightFlush = false; RoyalFlush = false; if (hand[0].getSuit().equals(hand[1].getSuit()) &amp;&amp; hand[1].getSuit().equals(hand[2].getSuit()) &amp;&amp; hand[2].getSuit().equals(hand[3].getSuit()) &amp;&amp; hand[3].getSuit().equals(hand[4].getSuit())) { flush = true; displayDeal = "You have a flush"; displayFinish = "Flush. Win $250.00 dollars."; } if (sort2(hand) &amp;&amp; !royalStraight) { straight = true; displayDeal = "You have a straight"; displayFinish = "Straight. Win $200.00 dollars."; } if (straight &amp;&amp; flush) { straightFlush = true; straight = false; flush = false; displayDeal = "You have a straight Flush"; displayFinish = "straight Flush. Win $500.00 dollars."; } if (straightFlush) { for (int j = 9; j &lt; 13; j++) { if (hand[i].getFace().equals(faces[j]) &amp;&amp; hand[i + 1].getFace().equals(faces[j]) &amp;&amp; hand[i + 2].getFace().equals(faces[j]) &amp;&amp; hand[i + 3].getFace().equals(faces[j]) &amp;&amp; hand[i + 4].getFace().equals(faces[j])) { straightFlush = false; RoyalFlush = true; displayDeal = "You have a royal Flush"; displayFinish = "Royal Flush. Win $1000.00 dollars."; } } } if (straight) { for (int j = 9; j &lt; 13; j++) { if (hand[i].getFace().equals(faces[j]) &amp;&amp; hand[i + 1].getFace().equals(faces[j]) &amp;&amp; hand[i + 2].getFace().equals(faces[j]) &amp;&amp; hand[i + 3].getFace().equals(faces[j]) &amp;&amp; hand[i + 4].getFace().equals(faces[j])) { straight = false; royalStraight = true; displayDeal = "You have a royal straight"; displayFinish = "royal Straight. Win $200.00 dollars."; } } } if (hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[0].getFace().equals(hand[2].getFace()) &amp;&amp; hand[0].getFace().equals(hand[3].getFace()) || hand[1].getFace().equals(hand[2].getFace()) &amp;&amp; hand[1].getFace().equals(hand[3].getFace()) &amp;&amp; hand[1].getFace().equals(hand[4].getFace()) || hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[0].getFace().equals(hand[3].getFace()) &amp;&amp; hand[0].getFace().equals(hand[4].getFace()) || hand[0].getFace().equals(hand[2].getFace()) &amp;&amp; hand[0].getFace().equals(hand[3].getFace()) &amp;&amp; hand[0].getFace().equals(hand[4].getFace()) || hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[0].getFace().equals(hand[2].getFace()) &amp;&amp; hand[0].getFace().equals(hand[4].getFace())) { fourKind = true; displayDeal = "You have a four of a kind"; displayFinish = "Four of a kind. Win $400.00 dollars."; } else if (hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[2].getFace().equals(hand[3].getFace()) || hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[3].getFace().equals(hand[4].getFace()) || hand[1].getFace().equals(hand[2].getFace()) &amp;&amp; hand[3].getFace().equals(hand[4].getFace()) || hand[0].getFace().equals(hand[2].getFace()) &amp;&amp; hand[3].getFace().equals(hand[4].getFace()) || hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[2].getFace().equals(hand[4].getFace()) || hand[0].getFace().equals(hand[4].getFace()) &amp;&amp; hand[1].getFace().equals(hand[2].getFace()) || hand[0].getFace().equals(hand[3].getFace()) &amp;&amp; hand[1].getFace().equals(hand[2].getFace()) || hand[1].getFace().equals(hand[4].getFace()) &amp;&amp; hand[2].getFace().equals(hand[3].getFace()) || hand[0].getFace().equals(hand[3].getFace()) &amp;&amp; hand[1].getFace().equals(hand[4].getFace()) &amp;&amp; !fullHouse) { twoPair = true; displayDeal = "You have two pairs. "; displayFinish = "Two Pairs. Win $100.00 dollars."; } else if (hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[1].getFace().equals(hand[2].getFace()) &amp;&amp; hand[3].getFace().equals(hand[4].getFace()) || hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[1].getFace().equals(hand[3].getFace()) &amp;&amp; hand[2].getFace().equals(hand[4].getFace()) || hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[1].getFace().equals(hand[4].getFace()) &amp;&amp; hand[2].getFace().equals(hand[3].getFace()) || hand[0].getFace().equals(hand[3].getFace()) &amp;&amp; hand[3].getFace().equals(hand[4].getFace()) &amp;&amp; hand[1].getFace().equals(hand[2].getFace()) || hand[1].getFace().equals(hand[2].getFace()) &amp;&amp; hand[2].getFace().equals(hand[4].getFace()) &amp;&amp; hand[0].getFace().equals(hand[3].getFace()) || hand[2].getFace().equals(hand[3].getFace()) &amp;&amp; hand[3].getFace().equals(hand[4].getFace()) &amp;&amp; hand[0].getFace().equals(hand[1].getFace()) || hand[1].getFace().equals(hand[2].getFace()) &amp;&amp; hand[2].getFace().equals(hand[3].getFace()) &amp;&amp; hand[0].getFace().equals(hand[4].getFace()) &amp;&amp; !straightFlush) { fullHouse = true; displayDeal = "You have a full house."; displayFinish = "Full House. Win $300.00 dollars."; } if ((hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[1].getFace().equals(hand[2].getFace()) || hand[0].getFace().equals(hand[2].getFace()) &amp;&amp; hand[0].getFace().equals(hand[4].getFace()) || hand[0].getFace().equals(hand[2].getFace()) &amp;&amp; hand[0].getFace().equals(hand[3].getFace()) || hand[1].getFace().equals(hand[3].getFace()) &amp;&amp; hand[1].getFace().equals(hand[4].getFace()) || hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[1].getFace().equals(hand[3].getFace()) || hand[0].getFace().equals(hand[1].getFace()) &amp;&amp; hand[1].getFace().equals(hand[4].getFace()) || hand[1].getFace().equals(hand[2].getFace()) &amp;&amp; hand[2].getFace().equals(hand[4].getFace()) || hand[2].getFace().equals(hand[3].getFace()) &amp;&amp; hand[3].getFace().equals(hand[4].getFace()) || hand[1].getFace().equals(hand[2].getFace()) &amp;&amp; hand[2].getFace().equals(hand[3].getFace())) &amp;&amp; !twoPair &amp;&amp; !fullHouse &amp;&amp; !fourKind) { threeKind = true; displayDeal = "You have three of a kind of " + setOf + "s."; displayFinish = "three of a kind of " + setOf + "s. Win $150.00 dollars."; } else if ((hand[i].getFace().equals(hand[i + 1].getFace()) || hand[i].getFace().equals(hand[i + 2].getFace()) || hand[i].getFace().equals(hand[i + 3].getFace()) || hand[i].getFace().equals(hand[i + 4].getFace()) || hand[i + 1].getFace().equals(hand[i + 2].getFace()) || hand[i + 1].getFace().equals(hand[i + 3].getFace()) || hand[i + 1].getFace().equals(hand[i + 4].getFace()) || hand[i + 2].getFace().equals(hand[i + 3].getFace()) || hand[i + 2].getFace().equals(hand[i + 4].getFace()) || hand[i + 3].getFace().equals(hand[4].getFace())) &amp;&amp; !twoPair &amp;&amp; !threeKind &amp;&amp; !fullHouse) { pair = true; displayDeal = "You have a pair of " + setOf + "s."; displayFinish = "Pair of " + setOf + "s. Win $50.00 dollars."; } if (!pair &amp;&amp; !twoPair &amp;&amp; !threeKind &amp;&amp; !fullHouse &amp;&amp; !fourKind &amp;&amp; !straight &amp;&amp; !flush &amp;&amp; !straightFlush &amp;&amp; !RoyalFlush &amp;&amp; !royalStraight) { nothing = true; displayDeal = "You have nothing."; displayFinish = "Nothing. Lose 20.00 dollars."; } this.validate(); } public int getFaceValue2(poker.Card card) { String s = card.getFace(); byte byte0 = 0; if (s.equals(faces[0])) { byte0 = 2; } if (s.equals(faces[1])) { byte0 = 3; } if (s.equals(faces[2])) { byte0 = 4; } if (s.equals(faces[3])) { byte0 = 5; } if (s.equals(faces[4])) { byte0 = 6; } if (s.equals(faces[5])) { byte0 = 7; } if (s.equals(faces[6])) { byte0 = 8; } if (s.equals(faces[7])) { byte0 = 9; } if (s.equals(faces[8])) { byte0 = 10; } if (s.equals(faces[9])) { byte0 = 11; } if (s.equals(faces[10])) { byte0 = 12; } if (s.equals(faces[11])) { byte0 = 13; } if (s.equals(faces[12])) { byte0 = 14; } return byte0; } public boolean sort2(poker.Card acard[]) { boolean flag = false; int ai[] = new int[5]; for (int i = 0; i &lt; 5; i++) { ai[i] = getFaceValue2(acard[i]); } for (int k = 1; k &lt; ai.length; k++) { for (int l = 0; l &lt; ai.length - 1; l++) { if (ai[l] &gt; ai[l + 1]) { int j = ai[l]; ai[l] = ai[l + 1]; ai[l + 1] = j; } } } for (int i1 = 0; i1 &lt; ai.length - 1; i1++) { if (ai[0] + 1 == ai[1] &amp;&amp; ai[1] + 1 == ai[2] &amp;&amp; ai[2] + 1 == ai[3] &amp;&amp; ai[3] + 1 == ai[4]) { flag = true; } else { flag = false; } } if (flag) { System.out.print(hand[0] + " " + hand[1] + " " + hand[2] + " " + hand[3] + " " + hand[4]); } System.out.print(ai[0] + " " + ai[1] + " " + ai[2] + " " + ai[3] + " " + ai[4]); return flag; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload