Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Westi on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Basic JButton and ActionListener Problem 1

Status
Not open for further replies.

psychoflea

Programmer
Dec 29, 2003
12
GB
Thanks for reading (more of a personal question than a professional one)

I have just starting to use java and wanted to start writing a simple "Who wants to be a millionaire" java game.

Using the few texbooks that I have i've managed to write a small part of the program, but I can't seem to get the button to return the correct value (getanswer) elsewhere in the program. The program compiles fine, but doesn't actually do anything.

Any ideas would be very helpful

Source Code:

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;

public class allornothing extends JApplet implements ActionListener {

public JButton aans;
public JButton bans;
public JButton cans;
public JButton dans;
public JButton easbut;
public JButton harbut;
public int cash = 1000;
public JTextField cashbox;
public String question;
public String getanswer = "ee";
public String qx;
public String ax;
public String bx;
public String cx;
public String dx;
public String corrx;
public String curquest[] = new String[5];
public String questions[][] = new String[5][2];
public int i;


public void init(){

String[][] questions = {
{"What Colour is an Orange", "Red", "Orange", "Green", "Purple", "bb"},
{"Does Jim hate Java", "No", "He loves it", "Sorta", "Yes", "dd"},
{"What Shape is a CD", "Square", "Diamond", "Round", "Triangle", "cc"},
};

i = (int)(Math.random() *3);

qx = questions[0];
ax = questions[1];
bx = questions[2];
cx = questions[3];
dx = questions[4];
corrx = questions[5];

String[] curquest = {qx, ax, bx, cx, dx, corrx};

setSize(750,600);
Container main = getContentPane();
main.setLayout(new GridLayout(5,1));
main.setBackground(Color.blue);
Container abutt = new Container();
abutt.setLayout(new GridLayout(2,1));
Container butta = new Container();
butta.setLayout(new FlowLayout());
Container buttb = new Container();
buttb.setLayout(new FlowLayout());
Container buttc = new Container();
buttc.setLayout(new FlowLayout());
Container buttd = new Container();
buttd.setLayout(new FlowLayout());
Container dbutt = new Container();
dbutt.setLayout(new GridBagLayout());
Container cashb = new Container();
cashb.setLayout(new FlowLayout());

String title = "All or Nothing";
JLabel x = new JLabel(title, JLabel.CENTER);
main.add(x);

JTextArea quest = new JTextArea();
quest.setBackground(Color.yellow);
quest.setText(curquest[0]);
quest.setEditable(false);
main.add(quest);

aans = new JButton("A");
butta.add(aans);
aans.addActionListener(this);

bans = new JButton("B");
buttb.add(bans);
bans.addActionListener(this);

cans = new JButton("C");
buttc.add(cans);
cans.addActionListener(this);

dans = new JButton("D");
buttd.add(dans);
dans.addActionListener(this);

easbut = new JButton("EASY");
dbutt.add(easbut);
easbut.addActionListener(this);

harbut = new JButton("HARD");
dbutt.add(harbut);
harbut.addActionListener(this);

JTextField abuttext = new JTextField();
abuttext.setBackground(Color.yellow);
abuttext.setText(curquest[1]);
JTextField bbuttext = new JTextField();
bbuttext.setBackground(Color.yellow);
bbuttext.setText(curquest[2]);
JTextField cbuttext = new JTextField();
cbuttext.setBackground(Color.yellow);
cbuttext.setText(curquest[3]);
JTextField dbuttext = new JTextField();
dbuttext.setBackground(Color.yellow);
dbuttext.setText(curquest[4]);
abuttext.setEditable(false);
bbuttext.setEditable(false);
cbuttext.setEditable(false);
dbuttext.setEditable(false);

JTextField cashbox = new JTextField(30);
cashbox.setBackground(Color.yellow);
cashbox.setText("Current Cash Total =" + getanswer);//temp set to check the value of getanswer
cashbox.setEditable(false);
cashb.add(cashbox);

abutt.add(butta);
abutt.add(abuttext);
abutt.add(buttb);
abutt.add(bbuttext);
abutt.add(buttc);
abutt.add(cbuttext);
abutt.add(buttd);
abutt.add(dbuttext);
main.add(abutt);
dbutt.add(easbut);
dbutt.add(harbut);
main.add(dbutt);
main.add(cashb);

}

public void actionPerformed(ActionEvent event)
{
if(event.getSource() == aans)
getanswer.equals("aa");
if(event.getSource() == bans)
getanswer.equals("bb");
if(event.getSource() == cans)
getanswer.equals("cc");
if(event.getSource() == dans)
getanswer.equals("dd");
}

public void checkAnswer(){

if (corrx.equals(getanswer))
JOptionPane.showMessageDialog(null,"You Are Correct!!!");
else
JOptionPane.showMessageDialog(null,"Sorry that's not correct");
}
}
 
Well, I'm not really experienced using applets, and have no idea why it won't work in appletviewer.

There was a large reason why nothing was being displayed though - there was no JFrame to display the contents of the Container object. So I've added that, and by running the class as a standalone class, some stuff now pops up. So type "java -cp . allornothing" and you'll see something ...

Code:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;

public class allornothing extends JApplet implements ActionListener {

public JButton aans;
public JButton bans;
public JButton cans;
public JButton dans;
public JButton easbut;
public JButton harbut;
public int cash = 1000;
public JTextField cashbox;
public String question;
public String getanswer = "ee";
public String qx;
public String ax;
public String bx;
public String cx;
public String dx;
public String corrx;
public String curquest[] = new String[5];
public String questions[][] = new String[5][2];
public int i;

	public static void main(String args[]) {
		new allornothing().init();
	}

public void init(){


String[][] questions = {
{"What Colour is an Orange", "Red", "Orange", "Green", "Purple", "bb"},
{"Does Jim hate Java", "No", "He loves it", "Sorta", "Yes", "dd"},
{"What Shape is a CD", "Square", "Diamond", "Round", "Triangle", "cc"},
};

i = (int)(Math.random() *3);

qx = questions[i][0];
ax = questions[i][1];
bx = questions[i][2];
cx = questions[i][3];
dx = questions[i][4];
corrx = questions[i][5];

String[] curquest = {qx, ax, bx, cx, dx, corrx};

setSize(750,600);
Container main = getContentPane();
main.setLayout(new GridLayout(5,1));
main.setBackground(Color.blue);
Container abutt = new Container();
abutt.setLayout(new GridLayout(2,1));
Container butta = new Container();
butta.setLayout(new FlowLayout());
Container buttb = new Container();
buttb.setLayout(new FlowLayout());
Container buttc = new Container();
buttc.setLayout(new FlowLayout());
Container buttd = new Container();
buttd.setLayout(new FlowLayout());
Container dbutt = new Container();
dbutt.setLayout(new GridBagLayout());
Container cashb = new Container();
cashb.setLayout(new FlowLayout());

String title = "All or Nothing";
JLabel x = new JLabel(title, JLabel.CENTER);
main.add(x);

JTextArea quest = new JTextArea();
quest.setBackground(Color.yellow);
quest.setText(curquest[0]);
quest.setEditable(false);
main.add(quest);

aans = new JButton("A");
butta.add(aans);
aans.addActionListener(this);

bans = new JButton("B");
buttb.add(bans);
bans.addActionListener(this);

cans = new JButton("C");
buttc.add(cans);
cans.addActionListener(this);

dans = new JButton("D");
buttd.add(dans);
dans.addActionListener(this);

easbut = new JButton("EASY");
dbutt.add(easbut);
easbut.addActionListener(this);

harbut = new JButton("HARD");
dbutt.add(harbut);
harbut.addActionListener(this);

JTextField abuttext = new JTextField();
abuttext.setBackground(Color.yellow);
abuttext.setText(curquest[1]);
JTextField bbuttext = new JTextField();
bbuttext.setBackground(Color.yellow);
bbuttext.setText(curquest[2]);
JTextField cbuttext = new JTextField();
cbuttext.setBackground(Color.yellow);
cbuttext.setText(curquest[3]);
JTextField dbuttext = new JTextField();
dbuttext.setBackground(Color.yellow);
dbuttext.setText(curquest[4]);
abuttext.setEditable(false);
bbuttext.setEditable(false);
cbuttext.setEditable(false);
dbuttext.setEditable(false);

JTextField cashbox = new JTextField(30);
cashbox.setBackground(Color.yellow);
cashbox.setText("Current Cash Total =" + getanswer);//temp set to check the value of getanswer
cashbox.setEditable(false);
cashb.add(cashbox);

abutt.add(butta);
abutt.add(abuttext);
abutt.add(buttb);
abutt.add(bbuttext);
abutt.add(buttc);
abutt.add(cbuttext);
abutt.add(buttd);
abutt.add(dbuttext);
main.add(abutt);
dbutt.add(easbut);
dbutt.add(harbut);
main.add(dbutt);
main.add(cashb);

JFrame f = new JFrame("Test");
f.setLocation(250, 250);
f.setSize(400, 400);
		WindowListener l = new WindowAdapter() {
				public void windowClosed(WindowEvent e) {System.exit(0);}
		};
f.addWindowListener(l);
f.getContentPane().setLayout(new BorderLayout());
f.getContentPane().add(main, BorderLayout.CENTER);
f.setVisible(true);
//	this.start();


}

public void actionPerformed(ActionEvent event)
{
if(event.getSource() == aans)
getanswer.equals("aa");
if(event.getSource() == bans)
getanswer.equals("bb");
if(event.getSource() == cans)
getanswer.equals("cc");
if(event.getSource() == dans)
getanswer.equals("dd");
}

public void checkAnswer(){

if (corrx.equals(getanswer))
JOptionPane.showMessageDialog(null,"You Are Correct!!!");
else
JOptionPane.showMessageDialog(null,"Sorry that's not correct");
}
}
 
Code:
import java.applet.Applet; 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.lang.*; 

public class allornothing extends JApplet implements ActionListener { 

public JButton aans; 
public JButton bans; 
public JButton cans; 
public JButton dans; 
public JButton easbut; 
public JButton harbut; 
public int cash = 1000; 
public JTextField cashbox; 
public String question; 
public String getanswer = "ee"; 
public String qx; 
public String ax; 
public String bx; 
public String cx; 
public String dx; 
public String corrx; 
public String curquest[] = new String[5]; 
public String questions[][] = new String[5][2]; 
public int i; 


public void init(){ 

String[][] questions = { 
{"What Colour is an Orange ?", "Red", "Orange", "Green", "Purple", "bb"}, 
{"Does Jim hate Java ?", "No", "He loves it", "Sorta", "Yes", "dd"}, 
{"What Shape is a CD ?", "Square", "Diamond", "Round", "Triangle", "cc"}, 
}; 

i = (int)(Math.random() *3); 

qx = questions[i][0];
ax = questions[i][1];
bx = questions[i][2];
cx = questions[i][3];
dx = questions[i][4];
corrx = questions[i][5];

String[] curquest = {qx, ax, bx, cx, dx, corrx}; 

setSize(750,600); 
Container main = getContentPane(); 
main.setLayout(new GridLayout(5,1)); 
main.setBackground(Color.blue); 
Container abutt = new Container(); 
abutt.setLayout(new GridLayout(2,1)); 
Container butta = new Container(); 
butta.setLayout(new FlowLayout()); 
Container buttb = new Container(); 
buttb.setLayout(new FlowLayout()); 
Container buttc = new Container(); 
buttc.setLayout(new FlowLayout()); 
Container buttd = new Container(); 
buttd.setLayout(new FlowLayout()); 
Container dbutt = new Container(); 
dbutt.setLayout(new GridBagLayout()); 
Container cashb = new Container(); 
cashb.setLayout(new FlowLayout()); 

String title = "All or Nothing"; 
JLabel x = new JLabel(title, JLabel.CENTER); 
main.add(x); 

JTextArea quest = new JTextArea(); 
quest.setBackground(Color.yellow); 
quest.setText(questions[i][0]); 
quest.setEditable(false); 
main.add(quest); 

aans = new JButton("A"); 
butta.add(aans); 
aans.addActionListener(this); 

bans = new JButton("B"); 
buttb.add(bans); 
bans.addActionListener(this); 

cans = new JButton("C"); 
buttc.add(cans); 
cans.addActionListener(this); 

dans = new JButton("D"); 
buttd.add(dans); 
dans.addActionListener(this); 

easbut = new JButton("EASY"); 
dbutt.add(easbut); 
easbut.addActionListener(this); 

harbut = new JButton("HARD"); 
dbutt.add(harbut); 
harbut.addActionListener(this); 

JTextField abuttext = new JTextField(); 
abuttext.setBackground(Color.yellow); 
abuttext.setText(questions[i][1]); 
JTextField bbuttext = new JTextField(); 
bbuttext.setBackground(Color.yellow); 
bbuttext.setText(questions[i][2]); 
JTextField cbuttext = new JTextField(); 
cbuttext.setBackground(Color.yellow); 
cbuttext.setText(questions[i][3]); 
JTextField dbuttext = new JTextField(); 
dbuttext.setBackground(Color.yellow); 
dbuttext.setText(questions[i][4]); 
abuttext.setEditable(false); 
bbuttext.setEditable(false); 
cbuttext.setEditable(false); 
dbuttext.setEditable(false); 

JTextField cashbox = new JTextField(30); 
cashbox.setBackground(Color.yellow); 
cashbox.setText("Current Cash Total =" + getanswer);//temp set to check the value of getanswer 
cashbox.setEditable(false); 
cashb.add(cashbox); 

abutt.add(butta); 
abutt.add(abuttext); 
abutt.add(buttb); 
abutt.add(bbuttext); 
abutt.add(buttc); 
abutt.add(cbuttext); 
abutt.add(buttd); 
abutt.add(dbuttext); 
main.add(abutt); 
dbutt.add(easbut); 
dbutt.add(harbut); 
main.add(dbutt); 
main.add(cashb); 

} 

public void actionPerformed(ActionEvent event) 
{ 
if(event.getSource() == aans) 
  {
   if (corrx.equals("aa"))
      {
       System.out.println("aa");
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  }
if(event.getSource() == bans) 
  {
   if (corrx.equals("bb"))
      {
       System.out.println("bb");
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  }
if(event.getSource() == cans) 
  {
   if (corrx.equals("cc"))
      {
       System.out.println("cc");
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  } 
if(event.getSource() == dans) 
  {
   if (corrx.equals("dd"))
      {
       System.out.println("dd");
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  } 
} 

public void checkAnswer(boolean passValue){ 

if (passValue==true) 
JOptionPane.showMessageDialog(null,"You Are Correct!!!"); 
else 
JOptionPane.showMessageDialog(null,"Sorry that's not correct"); 
} 
}
// search topic about variable in Java
 
Code:
import java.applet.Applet; 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.lang.*; 

public class allornothing extends JApplet implements ActionListener { 

public JButton aans; 
public JButton bans; 
public JButton cans; 
public JButton dans; 
public JButton easbut; 
public JButton harbut; 
public int cash = 1000; 
public JTextField cashbox; 
public String question; 
public String getanswer = "ee"; 
public String qx; 
public String ax; 
public String bx; 
public String cx; 
public String dx; 
public String corrx; 
public String curquest[] = new String[5]; 
public String questions[][] = new String[5][2]; 
public int i; 


public void init(){ 

String[][] questions = { 
{"What Colour is an Orange ?", "Red", "Orange", "Green", "Purple", "bb"}, 
{"Does Jim hate Java ?", "No", "He loves it", "Sorta", "Yes", "dd"}, 
{"What Shape is a CD ?", "Square", "Diamond", "Round", "Triangle", "cc"}, 
}; 

i = (int)(Math.random() *3); 

qx = questions[i][0];
ax = questions[i][1];
bx = questions[i][2];
cx = questions[i][3];
dx = questions[i][4];
corrx = questions[i][5];

String[] curquest = {qx, ax, bx, cx, dx, corrx}; 

setSize(750,600); 
Container main = getContentPane(); 
main.setLayout(new GridLayout(5,1)); 
main.setBackground(Color.blue); 
Container abutt = new Container(); 
abutt.setLayout(new GridLayout(2,1)); 
Container butta = new Container(); 
butta.setLayout(new FlowLayout()); 
Container buttb = new Container(); 
buttb.setLayout(new FlowLayout()); 
Container buttc = new Container(); 
buttc.setLayout(new FlowLayout()); 
Container buttd = new Container(); 
buttd.setLayout(new FlowLayout()); 
Container dbutt = new Container(); 
dbutt.setLayout(new GridBagLayout()); 
Container cashb = new Container(); 
cashb.setLayout(new FlowLayout()); 

String title = "All or Nothing"; 
JLabel x = new JLabel(title, JLabel.CENTER); 
main.add(x); 

JTextArea quest = new JTextArea(); 
quest.setBackground(Color.yellow); 
quest.setText(questions[i][0]); 
quest.setEditable(false); 
main.add(quest); 

aans = new JButton("A"); 
butta.add(aans); 
aans.addActionListener(this); 

bans = new JButton("B"); 
buttb.add(bans); 
bans.addActionListener(this); 

cans = new JButton("C"); 
buttc.add(cans); 
cans.addActionListener(this); 

dans = new JButton("D"); 
buttd.add(dans); 
dans.addActionListener(this); 

easbut = new JButton("EASY"); 
dbutt.add(easbut); 
easbut.addActionListener(this); 

harbut = new JButton("HARD"); 
dbutt.add(harbut); 
harbut.addActionListener(this); 

JTextField abuttext = new JTextField(); 
abuttext.setBackground(Color.yellow); 
abuttext.setText(ax); 
JTextField bbuttext = new JTextField(); 
bbuttext.setBackground(Color.yellow); 
bbuttext.setText(bx); 
JTextField cbuttext = new JTextField(); 
cbuttext.setBackground(Color.yellow); 
cbuttext.setText(cx); 
JTextField dbuttext = new JTextField(); 
dbuttext.setBackground(Color.yellow); 
dbuttext.setText(dx); 
abuttext.setEditable(false); 
bbuttext.setEditable(false); 
cbuttext.setEditable(false); 
dbuttext.setEditable(false); 

JTextField cashbox = new JTextField(30); 
cashbox.setBackground(Color.yellow); 
cashbox.setText("Current Cash Total =" + getanswer);//temp set to check the value of getanswer 
cashbox.setEditable(false); 
cashb.add(cashbox); 

abutt.add(butta); 
abutt.add(abuttext); 
abutt.add(buttb); 
abutt.add(bbuttext); 
abutt.add(buttc); 
abutt.add(cbuttext); 
abutt.add(buttd); 
abutt.add(dbuttext); 
main.add(abutt); 
dbutt.add(easbut); 
dbutt.add(harbut); 
main.add(dbutt); 
main.add(cashb); 

} 

public void actionPerformed(ActionEvent event) 
{ 
if(event.getSource() == aans) 
  {
   if (corrx.equals("aa"))
      {
       System.out.println("aa");
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  }
if(event.getSource() == bans) 
  {
   if (corrx.equals("bb"))
      {
       System.out.println("bb");
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  }
if(event.getSource() == cans) 
  {
   if (corrx.equals("cc"))
      {
       System.out.println("cc");
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  } 
if(event.getSource() == dans) 
  {
   if (corrx.equals("dd"))
      {
       System.out.println("dd");
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  } 
} 

public void checkAnswer(boolean passValue){ 

if (passValue==true) 
JOptionPane.showMessageDialog(null,"You Are Correct!!!"); 
else 
JOptionPane.showMessageDialog(null,"Sorry that's not correct"); 
} 
}
// more meaningful...
 
Thanks Prosper

I've changed the program a little bit more using your code for the ActionListener. The problem i'm haveing now is trying to figure out how to get the running total for the score working

If anyone has any thoughts

source code:

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;

public class allornothing extends JApplet implements ActionListener {

public JButton aans;
public JButton bans;
public JButton cans;
public JButton dans;
public JButton easbut;
public JButton harbut;
public JTextField cashbox;
public String getanswer = "ee";
public getQuestion q1, q2, q3, q4, curquestion;
public int i;
public runningtotal money;
public int cash = 0;

public void questionMaker()
{
i = (int)(Math.random()*4)+1;

getQuestion q1 = new getQuestion("What colour are oranges?", "orange", "red", "green", "yellow", "aa");
getQuestion q2 = new getQuestion("What shape is a CD?", "square", "Round", "trangle", "diamond", "bb");
getQuestion q3 = new getQuestion("What is the captial of England", "Paris", "New York", "London", "Moscow", "cc");
getQuestion q4 = new getQuestion("What color are lemons", "green", "red", "purple", "yellow", "dd");


if (i==1)
curquestion = q1;
if (i==2)
curquestion = q2;
if (i==3)
curquestion = q3;
if (i==4)
curquestion = q4;

}

public void init(){

questionMaker();

runningtotal money = new runningtotal(100);


setSize(750,600);
Container main = getContentPane();
main.setLayout(new GridLayout(5,1));
main.setBackground(Color.blue);
Container abutt = new Container();
abutt.setLayout(new GridLayout(2,1));
Container butta = new Container();
butta.setLayout(new FlowLayout());
Container buttb = new Container();
buttb.setLayout(new FlowLayout());
Container buttc = new Container();
buttc.setLayout(new FlowLayout());
Container buttd = new Container();
buttd.setLayout(new FlowLayout());
Container dbutt = new Container();
dbutt.setLayout(new GridBagLayout());
Container cashb = new Container();
cashb.setLayout(new FlowLayout());


String title = "All or Nothing";
JLabel x = new JLabel(title, JLabel.CENTER);
main.add(x);

JTextArea quest = new JTextArea();
quest.setBackground(Color.yellow);
quest.setText(curquestion.curquest());
quest.setEditable(false);
main.add(quest);

aans = new JButton("A");
butta.add(aans);
aans.addActionListener(this);

bans = new JButton("B");
buttb.add(bans);
bans.addActionListener(this);

cans = new JButton("C");
buttc.add(cans);
cans.addActionListener(this);

dans = new JButton("D");
buttd.add(dans);
dans.addActionListener(this);

easbut = new JButton("EASY");
dbutt.add(easbut);
easbut.addActionListener(this);

harbut = new JButton("HARD");
dbutt.add(harbut);
harbut.addActionListener(this);

JTextField abuttext = new JTextField();
abuttext.setBackground(Color.yellow);
abuttext.setText(curquestion.curquesta());
JTextField bbuttext = new JTextField();
bbuttext.setBackground(Color.yellow);
bbuttext.setText(curquestion.curquestb());
JTextField cbuttext = new JTextField();
cbuttext.setBackground(Color.yellow);
cbuttext.setText(curquestion.curquestc());
JTextField dbuttext = new JTextField();
dbuttext.setBackground(Color.yellow);
dbuttext.setText(curquestion.curquestd());
abuttext.setEditable(false);
bbuttext.setEditable(false);
cbuttext.setEditable(false);
dbuttext.setEditable(false);



JTextField cashbox = new JTextField(30);
cashbox.setBackground(Color.yellow);
cashbox.setText("Current Cash Total =" + money.cash);
cashbox.setEditable(false);
cashb.add(cashbox);

abutt.add(butta);
abutt.add(abuttext);
abutt.add(buttb);
abutt.add(bbuttext);
abutt.add(buttc);
abutt.add(cbuttext);
abutt.add(buttd);
abutt.add(dbuttext);
main.add(abutt);
dbutt.add(easbut);
dbutt.add(harbut);
main.add(dbutt);
main.add(cashb);




}

public void actionPerformed(ActionEvent event)
{
if(event.getSource() == aans)
{
if (curquestion.corrx.equals("aa"))
{
System.out.println("aa");
checkAnswer(true);
}
else
{
checkAnswer(false);
}
}
if(event.getSource() == bans)
{
if (curquestion.corrx.equals("bb"))
{
System.out.println("bb");
checkAnswer(true);
}
else
{
checkAnswer(false);
}
}
if(event.getSource() == cans)
{
if (curquestion.corrx.equals("cc"))
{
System.out.println("cc");
checkAnswer(true);
}
else
{
checkAnswer(false);
}
}
if(event.getSource() == dans)
{
if (curquestion.corrx.equals("dd"))
{
System.out.println("dd");
checkAnswer(true);
}
else
{
checkAnswer(false);
}
}
}
public int checkAnswer(boolean passValue){

if (passValue==true)
{
JOptionPane.showMessageDialog(null,"You Are Correct!!!");
money.cash = money.cash + 1000;
}
else
{
JOptionPane.showMessageDialog(null,"Sorry that's not correct");
}
return cash;
}
}
class runningtotal
{
public int curcash;
public int cash;

public runningtotal (int cash)
{
curcash = cash;
}
public int curtotal()
{return curcash;}

}

class getQuestion
{

public String qx;
public String ax;
public String bx;
public String cx;
public String dx;
public String corrx;

public getQuestion (String question, String answerA, String answerB, String answerC, String answerD, String correct)

{

qx = question;
ax = answerA;
bx = answerB;
cx = answerC;
dx = answerD;
corrx = correct;
}
public String curquest()
{return qx;}
public String curquesta()
{return ax;}
public String curquestb()
{return bx;}
public String curquestc()
{return cx;}
public String curquestd()
{return dx;}
public String correctanswer()
{return corrx;}
}
 
Code:
//import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class allornothing extends JApplet implements ActionListener {

    public JButton aans;
    public JButton bans;
    public JButton cans;
    public JButton dans;
    public JButton easbut;
    public JButton harbut;
    public JTextField cashbox;
    public String getanswer = "ee";
    public getQuestion q1, q2, q3, q4, curquestion;
    public int i;
    public runningtotal money;
    public int cash = 0;

    public void questionMaker()
    {
    i = (int)(Math.random()*4)+1;

    getQuestion q1 = new getQuestion("What colour are oranges?", "orange", "red", "green", "yellow", "aa");
    getQuestion q2 = new getQuestion("What shape is a CD?", "square", "Round", "trangle", "diamond", "bb");
    getQuestion q3 = new getQuestion("What is the captial of England", "Paris", "New York", "London", "Moscow", "cc");
    getQuestion q4 = new getQuestion("What color are lemons", "green", "red", "purple", "yellow", "dd");


    if (i==1)
    curquestion = q1;
    if (i==2)
    curquestion = q2;
    if (i==3)
    curquestion = q3;
    if (i==4)
    curquestion = q4;

    }

    public void init(){

            questionMaker();
            //runningtotal money = new runningtotal(100); this will create a local object
            money = new runningtotal(100);
            setSize(750,600);
            Container main = getContentPane();
            main.setLayout(new GridLayout(5,1));
            main.setBackground(Color.blue);
            Container abutt = new Container();
            abutt.setLayout(new GridLayout(2,1));
            Container butta = new Container();
            butta.setLayout(new FlowLayout());
            Container buttb = new Container();
            buttb.setLayout(new FlowLayout());
            Container buttc = new Container();
            buttc.setLayout(new FlowLayout());
            Container buttd = new Container();
            buttd.setLayout(new FlowLayout());
            Container dbutt = new Container();
            dbutt.setLayout(new GridBagLayout());
            Container cashb = new Container();
            cashb.setLayout(new FlowLayout());


            String title = "All or Nothing";
            JLabel x = new JLabel(title, JLabel.CENTER);
            main.add(x);

            JTextArea quest = new JTextArea();
            quest.setBackground(Color.yellow);
            quest.setText(curquestion.curquest());
            quest.setEditable(false);
            main.add(quest);

            aans = new JButton("A");
            butta.add(aans);
            aans.addActionListener(this);

            bans = new JButton("B");
            buttb.add(bans);
            bans.addActionListener(this);

            cans = new JButton("C");
            buttc.add(cans);
            cans.addActionListener(this);

            dans = new JButton("D");
            buttd.add(dans);
            dans.addActionListener(this);

            easbut = new JButton("EASY");
            dbutt.add(easbut);
            easbut.addActionListener(this);

            harbut = new JButton("HARD");
            dbutt.add(harbut);
            harbut.addActionListener(this);

            JTextField abuttext = new JTextField();
            abuttext.setBackground(Color.yellow);
            abuttext.setText(curquestion.curquesta());
            JTextField bbuttext = new JTextField();
            bbuttext.setBackground(Color.yellow);
            bbuttext.setText(curquestion.curquestb());
            JTextField cbuttext = new JTextField();
            cbuttext.setBackground(Color.yellow);
            cbuttext.setText(curquestion.curquestc());
            JTextField dbuttext = new JTextField();
            dbuttext.setBackground(Color.yellow);
            dbuttext.setText(curquestion.curquestd());
            abuttext.setEditable(false);
            bbuttext.setEditable(false);
            cbuttext.setEditable(false);
            dbuttext.setEditable(false);


            //JTextField cashbox = new JTextField(30); You want to declare a Class object but this statement define local object
            cashbox = new JTextField(30);
            cashbox.setBackground(Color.yellow);
            cashbox.setText("Current Cash Total =" + money.curtotal());
            cashbox.setEditable(false);
            cashb.add(cashbox);

            abutt.add(butta);
            abutt.add(abuttext);
            abutt.add(buttb);
            abutt.add(bbuttext);
            abutt.add(buttc);
            abutt.add(cbuttext);
            abutt.add(buttd);
            abutt.add(dbuttext);
            main.add(abutt);
            dbutt.add(easbut);
            dbutt.add(harbut);
            main.add(dbutt);
            main.add(cashb);




    }

public void actionPerformed(ActionEvent event)
{
if(event.getSource() == aans)
  {
   if ( (curquestion.correctanswer()).equals("aa") )
      {
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  }
else
if(event.getSource() == bans)
  {
   if ( (curquestion.correctanswer()).equals("bb") )
      {
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  }
else
if(event.getSource() == cans)
  {
   if ( (curquestion.correctanswer()).equals("cc") )
      {
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  }
else
if(event.getSource() == dans)
  {
   if ( (curquestion.correctanswer()).equals("dd") )
      {
       checkAnswer(true);
      }
   else
      {
       checkAnswer(false);
      }
  }
}
public void checkAnswer(boolean passValue){ 
if (passValue==true) 
   {
    JOptionPane.showMessageDialog(null,"You Are Correct!!!"); 
    money.increaseTotal(1000);
   }
else
   { 
    JOptionPane.showMessageDialog(null,"Sorry that's not correct"); 
   }
cashbox.setText("Current Cash Total =" + money.curtotal());
} 
}
class runningtotal
{
    public int curcash;
    public int cash;

    public runningtotal (int tempCash1)
    {
    curcash = tempCash1;
    }
    public void increaseTotal(int tempCash2)
    {
     curcash+=tempCash2;
    }
    public int curtotal()
    {return curcash;}

}

class getQuestion
{

    public String qx;
    public String ax;
    public String bx;
    public String cx;
    public String dx;
    public String corrx;

    public getQuestion (String question, String answerA, String answerB, String answerC, String answerD, String correct)

{

    qx = question;
    ax = answerA;
    bx = answerB;
    cx = answerC;
    dx = answerD;
    corrx = correct;
}
    public String curquest()
    {return qx;}
    public String curquesta()
    {return ax;}
    public String curquestb()
    {return bx;}
    public String curquestc()
    {return cx;}
    public String curquestd()
    {return dx;}
    public String correctanswer()
    {return corrx;}
}
// I like to use appletviewer in running and debugging applet
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top