import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Start extends Applet implements ActionListener {
static Choice crossChoice;
static int cross;
static char generation;
static Font font1, font2, font3;
private CrossFrame f;
private Answer a;
private Button crossP, crossF1, checkButton;
private Label chooseCross, checkLabel1, checkLabel2, blank;
private TextField checkField1, checkField2;
private Panel p, p1;
static public Image M_Sepia_Wing_AlbinoGif,
F_Sepia_Wing_AlbinoGif,
M_Red_Wing_AlbinoGif,
F_Red_Wing_AlbinoGif,
F_White_Wing_AlbinoGif,
M_White_Wing_AlbinoGif,
F_Red_Vest_AlbinoGif,
M_Red_Vest_AlbinoGif,
F_Sepia_Vest_AlbinoGif,
M_Sepia_Vest_AlbinoGif,
F_Red_Wing_EbonyGif,
M_Red_Wing_EbonyGif,
F_Red_Vest_EbonyGif,
M_Red_Vest_EbonyGif;
public void init()
{
M_Sepia_Wing_AlbinoGif = getImage( getDocumentBase(), "M_Sepia_Wing_Albino.gif" );
F_Sepia_Wing_AlbinoGif = getImage( getDocumentBase(), "F_Sepia_Wing_Albino.gif" );
M_Red_Wing_AlbinoGif = getImage( getDocumentBase(), "M_Red_Wing_Albino.gif" );
F_Red_Wing_AlbinoGif = getImage( getDocumentBase(), "F_Red_Wing_Albino.gif" );
F_Red_Wing_AlbinoGif = getImage( getDocumentBase(), "F_Red_Wing_Albino.gif" );
M_Red_Wing_AlbinoGif = getImage( getDocumentBase(), "M_Red_Wing_Albino.gif" );
F_White_Wing_AlbinoGif = getImage( getDocumentBase(), "F_White_Wing_Albino.gif" );
M_White_Wing_AlbinoGif = getImage( getDocumentBase(), "M_White_Wing_Albino.gif" );
F_Red_Wing_AlbinoGif = getImage( getDocumentBase(), "F_Red_Wing_Albino.gif" );
M_Red_Wing_AlbinoGif = getImage( getDocumentBase(), "M_Red_Wing_Albino.gif" );
F_Red_Vest_AlbinoGif = getImage( getDocumentBase(), "F_Red_Vest_Albino.gif" );
M_Red_Vest_AlbinoGif = getImage( getDocumentBase(), "M_Red_Vest_Albino.gif" );
F_Sepia_Wing_AlbinoGif = getImage( getDocumentBase(), "F_Sepia_Wing_Albino.gif" );
M_Sepia_Wing_AlbinoGif = getImage( getDocumentBase(), "M_Sepia_Wing_Albino.gif" );
F_Sepia_Vest_AlbinoGif = getImage( getDocumentBase(), "F_Sepia_Vest_Albino.gif" );
M_Sepia_Vest_AlbinoGif = getImage( getDocumentBase(), "M_Sepia_Vest_Albino.gif" );
F_Red_Wing_AlbinoGif = getImage( getDocumentBase(), "F_Red_Wing_Albino.gif" );
M_Red_Wing_AlbinoGif = getImage( getDocumentBase(), "M_Red_Wing_Albino.gif" );
F_Red_Vest_AlbinoGif = getImage( getDocumentBase(), "F_Red_Vest_Albino.gif" );
M_Red_Vest_AlbinoGif = getImage( getDocumentBase(), "M_Red_Vest_Albino.gif" );
F_Red_Wing_EbonyGif = getImage( getDocumentBase(), "F_Red_Wing_Ebony.gif" );
M_Red_Wing_EbonyGif = getImage( getDocumentBase(), "M_Red_Wing_Ebony.gif" );
F_Red_Vest_EbonyGif = getImage( getDocumentBase(), "F_Red_Vest_Ebony.gif" );
M_Red_Vest_EbonyGif = getImage( getDocumentBase(), "M_Red_Vest_Ebony.gif" );
int align = FlowLayout.CENTER;
p = new Panel();
p.setLayout( new GridLayout(3,4,5, 5) );
font1 = new Font( "Serif", Font.BOLD, 18);
font2 = new Font( "SansSerif", Font.BOLD + Font.ITALIC, 12);
font3 = new Font( "Serif", Font.BOLD, 14);
this.setBackground(Color.white);
chooseCross = new Label("Choose a Cross");
crossChoice = new Choice();
crossChoice.add( "1" );
crossChoice.add( "2" );
crossChoice.add( "3" );
crossChoice.add( "4" );
crossP = new Button( "Cross P Flies" );
crossP.addActionListener( this );
crossF1 = new Button( "Cross F1 Flies" );
crossF1.addActionListener( this );
checkLabel1 = new Label( "Enter Genotype");
checkField1 = new TextField(10);
checkField1.setText("XXRRWWBB");
checkButton = new Button("Check Genotype");
checkButton.addActionListener( this );
checkLabel2 = new Label( "Enter Genotype");
checkField2 = new TextField(10);
checkField2.setText("XXRRWWBB");
blank = new Label("");
p.add( chooseCross );
p.add( crossChoice);
p.add( crossP );
p.add( crossF1 );
p.add ( checkLabel1 );
p.add( checkField1 );
p.add( blank );
p.add( checkButton );
p.add ( checkLabel2 );
p.add( checkField2 );
setLayout( new BorderLayout());
add( p, BorderLayout.SOUTH);
}
public void paint( Graphics g) {
int x = 25;
g.setColor(Color.blue);
g.setFont(font1);
g.drawString("Drosophilia Intro Biology Lab", 5, x);
g.setColor(Color.red);
g.setFont(font2);
g.drawString("1. Choose the cross below", 15, x += 15);
g.drawString("2. Click Cross P Flies", 15, x += 15);
g.drawString("3. Count and record the F1 generation flies", 15, x += 15);
g.drawString("4. Repeat steps 2 and 3 and count the F2 generation", 15, x += 15);
g.drawString("5. When you have figured out the genotypes of", 15, x += 15);
g.drawString(" the parents enter them below", 15, x += 15);
g.drawString(" they must be in the format XXRRWWBB", 15, x += 15);
}
public void actionPerformed( ActionEvent e )
{
cross = (crossChoice.getSelectedIndex() + 1);
validate();
if (e.getActionCommand() == "Cross P Flies") {
generation = 'P';
f = new CrossFrame(this, "Cross Parents", generation, cross);
f.setVisible( true ); // show the frame
}
else if (e.getActionCommand() == "Cross F1 Flies") {
generation = 'F';
f = new CrossFrame(this, "Cross F1 Flies", generation, cross);
f.setVisible( true ); // show the frame
}
else if (e.getActionCommand() == "Check Genotype") {
String answer1 = checkField1.getText();
String answer2 = checkField2.getText();
f = new CrossFrame(this, "Cross Parents", 'P', cross);
f.setVisible( false );
showStatus("" + f.AllheleOne);
showStatus("" + f.AllheleTwo);
a = new Answer("Answer", answer1, f.AllheleOne, answer2, f.AllheleTwo);
a.setVisible( true );
/*if (answer1.equals(f.AllheleOne) | answer2.equals(f.AllheleOne))
showStatus("Yes");
else
showStatus("No");
if (answer1.equals(f.AllheleTwo) | answer2.equals(f.AllheleTwo))
showStatus("Yes");
else
showStatus("No"); */
}
}
}