// Multimedia Physics TrueFalse Applet // Gary D. Westfall // October, 1996 import java.awt.*; import java.lang.*; import java.util.*; import java.applet.*; import java.net.*; import java.io.*; public class TrueFalse extends Applet { TFCon controls; String param; TFCanv c; public void init() { int i; setBackground(Color.white); setLayout(new GridLayout(1,3)); c = new TFCanv(); add(controls=new TFCon(getParameter("tf"),c)); add(c); } public void start() { controls.enable(); } public void stop() { controls.disable(); System.gc(); // Force garbage collection } public boolean handleEvent(Event e) { if (e.id == Event.WINDOW_DESTROY) { stop(); destroy(); return true; } return super.handleEvent(e); } } class TFCanv extends Canvas { String replyString; Color replyColor; public TFCanv(){ } public void paint(Graphics g) { Font myFont=new Font("TimesRoman",Font.PLAIN,14); g.setFont(myFont); g.setColor(replyColor); if(replyString!=null) { g.drawString(replyString,0,21); } } public void redraw(String myString,int myColor) { replyString=myString; if(myColor==1) { replyColor=Color.green; } if(myColor==2) { replyColor=Color.red; } repaint(); } } class TFCon extends Panel { Checkbox radioButton1; CheckboxGroup Group1; Checkbox radioButton2; String tfValueLocal; TFCanv canvas; public TFCon(String tfValue,TFCanv canvasLocal) { canvas=canvasLocal; tfValueLocal=tfValue; Font myFont=new Font("TimesRoman",Font.PLAIN,14); Group1 = new CheckboxGroup(); radioButton1 = new java.awt.Checkbox("True", Group1, false); radioButton1.setFont(myFont); add(radioButton1); radioButton2 = new java.awt.Checkbox("False", Group1, false); radioButton2.setFont(myFont); add(radioButton2); } public boolean handleEvent(Event event) { if (event.target == radioButton1 && event.id == Event.ACTION_EVENT) { radioButton1_Action(event); } if (event.target == radioButton2 && event.id == Event.ACTION_EVENT) { radioButton2_Action(event); } return super.handleEvent(event); } void radioButton1_Action(Event event) { if(tfValueLocal.equals("T")) { canvas.redraw("Excellent, that is correct",1); } else { canvas.redraw("Sorry, that is not correct",2); } } void radioButton2_Action(Event event) { if(tfValueLocal.equals("F")) { canvas.redraw("Excellent, that is correct",1); } else { canvas.redraw("Sorry, that is not correct",2); } } }