Complete the given [url removed, login to view] program.

  • ステータス 完了済み
  • 予算 $10 - $30 USD
  • Total Bids 6

プロジェクト情報

The program displays a window with three digits and a START button. You must complete the two methods startSpinning() and stopSpinnin() that have already been included. You must also create a thread class.

When the user clicks the START button, all three digits start spinning and the START button becomes a STOP button. When the user clicks the STOP button, the first digit stops spinning. When the user clicks the STOP button again, the second digit stops spinning. When the user clicks the STOP button for the third time, the third digit stops spinning, the STOP button becomes a START button, and a message is displayed indicating whether or not the user won. The user can then click the START button to play again.

startSpinning() method: This method is called when the user clicks the START button. The method must create three threads, one for each digit. Each thread increments one of the displayed digits (the digits go from 0 to 9 and then back to 0 again) continuously.

stopSpinning() method: This method is called when the user clicks the STOP button. One or more of the digits must be spinning. This method stops ONE of the spinning digits. When the last digit stops spinning, the button must be re-named "START" and a message must be displayed indicated whether or not the user won. The user wins if all three digits are the same.

thread class: You must write a class for the threads that spin the digits. You can use the Counter example on Shared Files as a guide on how to write this class. Please note that each thread must only spin one digit.

This is the program

package slotmachine;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class SlotMachine extends JFrame implements ActionListener {

public static void main(String[] args) {

new SlotMachine();

}

private JLabel spinner1; // Left digit display

private JLabel spinner2; // Middle digit display

private JLabel spinner3; // Right digit display

private int[] values; // Digit values

private JButton startStop; // Button to start or stop spinner(s)

// Constructor

public SlotMachine() {

super("Slots!");

values = new int[3];

makeFrame();

}

// Makes all three digits start spinning.

public void startSpinning() {

// WRITE ME!!!

}

// Makes one digit stop spinning.

// If all digits stop, displays a message if all three digits are the same.

public void stopSpinning() {

// WRITE ME TOO!!!

}

// This method is called when Start/Stop button is clicked.

public void actionPerformed(ActionEvent e) {

if([url removed, login to view]().equals("START")) {

[url removed, login to view]("STOP");

startSpinning();

} else {

stopSpinning();

}

}

// Builds the window and makes it appear!

private void makeFrame() {

setLayout(new BorderLayout(5, 5));

JPanel spinnerPanel = new JPanel(new GridLayout(1, 3, 5, 5));

spinner1 = new JLabel("0", [url removed, login to view]);

[url removed, login to view](new Font(null, [url removed, login to view], 40));

[url removed, login to view](spinner1);

spinner2 = new JLabel("0", [url removed, login to view]);

[url removed, login to view](new Font(null, [url removed, login to view], 40));

[url removed, login to view](spinner2);

spinner3 = new JLabel("0", [url removed, login to view]);

[url removed, login to view](new Font(null, [url removed, login to view], 40));

[url removed, login to view](spinner3);

add(spinnerPanel, [url removed, login to view]);

startStop = new JButton("START");

[url removed, login to view](new Font(null, [url removed, login to view], 20));

[url removed, login to view](this);

add(startStop, [url removed, login to view]);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(200, 150);

setLocationRelativeTo(null);

setVisible(true);

}

}

このようなプロジェクトの無料見積もりを取得
以下の方によって完了済み:
必須スキル

Looking to make some money?

  • 予算と期限を設定してください
  • Outline your proposal
  • Get paid for your work

このプロジェクトにも入札したフリーランサーを採用する

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online