Give it two buttons labeled Odd and Even. The user must guess whether the secret
ID: 3771280 • Letter: G
Question
Give it two buttons labeled Odd and Even. The user must guess whether the secret number is odd or even by clicking one of these buttons. After a guess is made, the applet should display either Congratulations, your are correct! or Sorry, you are wrong. In either case, also display The secret number was: followed by the secret number. Use lables for these three messages.
The program will have a private instance variable secretNumber of type long that holds the secret number. You will need to set it in the init method using the following line of code:
secretNumbe=java.util.Calendar.getInstance().getTimeInMillis() % 100;
In the actionPerformed method, check which button was pressed and make the appropriate response label visible. After that, make the two buttons invisible (only one guess is allowed) and the label containing the secret number visible. (java please)
Explanation / Answer
Solution:
------------------------------------------------
package oddeven;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
* Odd Even Applet:
* This applet generates a secret number which is either even or odd. User is requested to guess the number
* either by clicking on Odd or on Even button. Depending whether user's guess is right or wrong, appropriate message
* is displayed.
*/
public class OddEvenApplet extends JApplet {
/**
* serial version id
*/
private static final long serialVersionUID = 1L;
private long secretNumber; //secret number
private JButton oddButton=new JButton("Odd"); //odd button
private JButton evenButton=new JButton("Even"); //even button
private JLabel congratulationsLabel=new JLabel("Congratulations, your are correct!",JLabel.CENTER); //label showing congratulations message
private JLabel sorryLabel=new JLabel("Sorry, you are wrong!",JLabel.CENTER); //label showing sorry message
private JLabel secretNumberLabel=new JLabel("The secret number was:",JLabel.CENTER); //label showing secret number
/* (non-Javadoc)
* @see java.applet.Applet#init()
*/
@Override
public void init() {
//initializing secret number
secretNumber=java.util.Calendar.getInstance().getTimeInMillis() % 100;
//sets default visibility of labels
congratulationsLabel.setVisible(false);
sorryLabel.setVisible(false);
secretNumberLabel.setVisible(false);
//adds functionality to odd button
oddButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//after clicking both buttons are set to be invisible
oddButton.setVisible(false);
evenButton.setVisible(false);
//checking if secret number is odd. If so, shows congratulation message, else sorry message.
if(secretNumber%2!=0)
{
congratulationsLabel.setVisible(true);
secretNumberLabel.setText("The secret number was:"+secretNumber);
secretNumberLabel.setHorizontalAlignment(JLabel.CENTER);
secretNumberLabel.setVisible(true);
}
else
{
sorryLabel.setVisible(true);
secretNumberLabel.setText("The secret number was:"+secretNumber);
secretNumberLabel.setHorizontalAlignment(JLabel.CENTER);
secretNumberLabel.setVisible(true);
}
}
});
//adds functionality to even button
evenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//after clicking both buttons are set to be invisible
oddButton.setVisible(false);
evenButton.setVisible(false);
//checking if secret number is even. If so, shows congratulation message, else sorry message.
if(secretNumber%2==0)
{
congratulationsLabel.setVisible(true);
secretNumberLabel.setText("The secret number was:"+secretNumber);
secretNumberLabel.setHorizontalAlignment(JLabel.CENTER);
secretNumberLabel.setVisible(true);
}
else
{
sorryLabel.setVisible(true);
secretNumberLabel.setText("The secret number was:"+secretNumber);
secretNumberLabel.setHorizontalAlignment(JLabel.CENTER);
secretNumberLabel.setVisible(true);
}
}
});
//creates panel, adds components to it, then adds panel to applet
JPanel panel=new JPanel(new GridLayout(3,2));
panel.add(oddButton);
panel.add(evenButton);
panel.add(congratulationsLabel);
panel.add(sorryLabel);
panel.add(secretNumberLabel);
add(panel,BorderLayout.NORTH);
setSize(400, 400);
}
}
------------------------------------------------
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.