Question
narrate their code walkthrough of the frozen code submission. should spend at least a few minutes explaining facets of the project, with an emphasis on
narrate their code walkthrough of the frozen code submission. should spend at least a few minutes explaining facets of the project, with an emphasis on the Java used.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.Border;
public class JPanelWorldCampus extends JPanel implements ActionListener {
JLabel jlWorldCampus, jlIntro, jlCharacterMod, jlLine;
JButton jbL1, jbL2, jbL3, jbL4, jbL5, jbL6, jbL7, jbL8, jbL9, jbR1, jbR2, jbR3, jbR4, jbR5, jbR6, jbR7, jbR8, jbR9;
JButton jbStart, jbScore, currentButton1, currentButton2, jbBack;
String theme, difficulty;
int buttonCounter, totalCounter, delay, score;
Boolean left, right;
Timer previewTimer;
Border blackLine;
public JPanelWorldCampus(String infTheme, String infDifficulty) {
super();
setLayout(null);
theme = infTheme;
difficulty = infDifficulty;
left = true;
right = true;
jlWorldCampus = new JLabel("WORLD CAMPUS");
jlWorldCampus.setBounds(new Rectangle(300, 20, 220, 20));
add(jlWorldCampus);
jlIntro = new JLabel("Match the colored squares for points");
jlIntro.setBounds(new Rectangle(230, 180, 220, 20));
add(jlIntro);
jlCharacterMod = new JLabel();
if (theme.equals("programming")){
jlCharacterMod.setText("As a programmer you score double points");
jlCharacterMod.setBounds(new Rectangle(220, 235, 400, 20));
}
if (theme.equals("football")){
jlCharacterMod.setText("As a football player you have less time to preview the board");
jlCharacterMod.setBounds(new Rectangle(170, 235, 400, 20));
}
if (theme.equals("math")){
jlCharacterMod.setText("As a math student you have more time to preview the board");
jlCharacterMod.setBounds(new Rectangle(175, 235, 400, 20));
}
add(jlCharacterMod);
jbStart = new JButton("Start");
jbStart.setBounds(new Rectangle(270, 300, 100, 40));
jbStart.addActionListener(this);
add(jbStart);
jbScore = new JButton("Score: " + score);
jbScore.setBounds(new Rectangle(255, 50, 100, 40));
blackLine = BorderFactory.createLineBorder(Color.black);
jlLine = new JLabel();
jlLine.setBounds(new Rectangle(305, 110, 2, 310));
jlLine.setBorder(blackLine);
jbL1 = new JButton();
jbL1.setBounds(new Rectangle(205, 150, 60, 40));
jbL1.setBackground(Color.RED);
jbL2 = new JButton();
jbL2.setBounds(new Rectangle(205, 250, 60, 40));
jbL2.setBackground(Color.CYAN);
jbL3 = new JButton();
jbL3.setBounds(new Rectangle(205, 350, 60, 40));
jbL3.setBackground(Color.YELLOW);
jbL4 = new JButton();
jbL4.setBounds(new Rectangle(130, 150, 60, 40));
jbL4.setBackground(Color.GREEN);
jbL5 = new JButton();
jbL5.setBounds(new Rectangle(130, 250, 60, 40));
jbL5.setBackground(Color.BLUE);
jbL6 = new JButton();
jbL6.setBounds(new Rectangle(130, 350, 60, 40));
jbL6.setBackground(Color.MAGENTA);
jbL7 = new JButton();
jbL7.setBounds(new Rectangle(55, 150, 60, 40));
jbL7.setBackground(Color.WHITE);
jbL8 = new JButton();
jbL8.setBounds(new Rectangle(55, 250, 60, 40));
jbL8.setBackground(Color.ORANGE);
jbL9 = new JButton();
jbL9.setBounds(new Rectangle(55, 350, 60, 40));
jbL9.setBackground(Color.PINK);
jbR1 = new JButton();
jbR1.setBounds(new Rectangle(345, 150, 60, 40));
jbR1.setBackground(Color.YELLOW);
jbR2 = new JButton();
jbR2.setBounds(new Rectangle(345, 250, 60, 40));
jbR2.setBackground(Color.RED);
jbR3 = new JButton();
jbR3.setBounds(new Rectangle(345, 350, 60, 40));
jbR3.setBackground(Color.CYAN);
jbR4 = new JButton();
jbR4.setBounds(new Rectangle(420, 150, 60, 40));
jbR4.setBackground(Color.BLUE);
jbR5 = new JButton();
jbR5.setBounds(new Rectangle(420, 250, 60, 40));
jbR5.setBackground(Color.GREEN);
jbR6 = new JButton();
jbR6.setBounds(new Rectangle(420, 350, 60, 40));
jbR6.setBackground(Color.MAGENTA);
jbR7 = new JButton();
jbR7.setBounds(new Rectangle(495, 150, 60, 40));
jbR7.setBackground(Color.ORANGE);
jbR8 = new JButton();
jbR8.setBounds(new Rectangle(495, 250, 60, 40));
jbR8.setBackground(Color.PINK);
jbR9 = new JButton();
jbR9.setBounds(new Rectangle(495, 350, 60, 40));
jbR9.setBackground(Color.WHITE);
if(theme.equals("programming")){
delay = 5000;
}
if(theme.equals("football")){
delay = 3000;
}
if(theme.equals("math")){
delay = 8000;
}
previewTimer = new Timer(delay, this);
jbBack = new JButton("Back");
jbBack.setBounds(new Rectangle(375, 50, 100, 40));
}
@Override
public void actionPerformed(ActionEvent event) {
Object obj = event.getSource();
if (obj == jbStart) {
if (difficulty.equals("easy")) {
remove(jlIntro);
remove(jlCharacterMod);
remove(jbStart);
add(jbL1);
add(jbL2);
add(jbL3);
add(jbR1);
add(jbR2);
add(jbR3);
add(jlLine);
add(jbScore);
previewTimer.start();
validate();
repaint();
}
if (difficulty.equals("medium")) {
remove(jlIntro);
remove(jlCharacterMod);
remove(jbStart);
add(jbL1);
add(jbL2);
add(jbL3);
add(jbL4);
add(jbL5);
add(jbL6);
add(jbR1);
add(jbR2);
add(jbR3);
add(jbR4);
add(jbR5);
add(jbR6);
add(jlLine);
add(jbScore);
previewTimer.start();
validate();
repaint();
}
if (difficulty.equals("hard")) {
remove(jlIntro);
remove(jlCharacterMod);
remove(jbStart);
add(jbL1);
add(jbL2);
add(jbL3);
add(jbL4);
add(jbL5);
add(jbL6);
add(jbL7);
add(jbL8);
add(jbL9);
add(jbR1);
add(jbR2);
add(jbR3);
add(jbR4);
add(jbR5);
add(jbR6);
add(jbR7);
add(jbR8);
add(jbR9);
add(jlLine);
add(jbScore);
previewTimer.start();
validate();
repaint();
}
}
if (obj == previewTimer) {
previewTimer.stop();
jbL1.setContentAreaFilled(false);
jbL1.addActionListener(this);
jbL2.setContentAreaFilled(false);
jbL2.addActionListener(this);
jbL3.setContentAreaFilled(false);
jbL3.addActionListener(this);
jbL4.setContentAreaFilled(false);
jbL4.addActionListener(this);
jbL5.setContentAreaFilled(false);
jbL5.addActionListener(this);
jbL6.setContentAreaFilled(false);
jbL6.addActionListener(this);
jbL7.setContentAreaFilled(false);
jbL7.addActionListener(this);
jbL8.setContentAreaFilled(false);
jbL8.addActionListener(this);
jbL9.setContentAreaFilled(false);
jbL9.addActionListener(this);
jbR1.setContentAreaFilled(false);
jbR1.addActionListener(this);
jbR2.setContentAreaFilled(false);
jbR2.addActionListener(this);
jbR3.setContentAreaFilled(false);
jbR3.addActionListener(this);
jbR4.setContentAreaFilled(false);
jbR4.addActionListener(this);
jbR5.setContentAreaFilled(false);
jbR5.addActionListener(this);
jbR6.setContentAreaFilled(false);
jbR6.addActionListener(this);
jbR7.setContentAreaFilled(false);
jbR7.addActionListener(this);
jbR8.setContentAreaFilled(false);
jbR8.addActionListener(this);
jbR9.setContentAreaFilled(false);
jbR9.addActionListener(this);
}
if (left.equals(true)) {
if (obj == jbL1 || obj == jbL2 || obj == jbL3 || obj == jbL4 || obj == jbL5 || obj == jbL6 || obj == jbL7 || obj == jbL8 || obj == jbL9) {
currentButton1 = (JButton) obj;
currentButton1.setContentAreaFilled(true);
currentButton1.setEnabled(false);
left = false;
buttonCounter = buttonCounter + 1;
}
}
if (right.equals(true)) {
if (obj == jbR1 || obj == jbR2 || obj == jbR3 || obj == jbR4 || obj == jbR5 || obj == jbR6 || obj == jbR7 || obj == jbR8 || obj == jbR9) {
currentButton2 = (JButton) obj;
currentButton2.setContentAreaFilled(true);
currentButton2.setEnabled(false);
right = false;
buttonCounter = buttonCounter + 1;
}
}
if (buttonCounter == 2) {
if (currentButton1.getBackground() == currentButton2.getBackground()) {
if (theme.equals("programming")){
score++;
}
score++;
jbScore.setText("Score: " + score);
}
left = true;
right = true;
buttonCounter = 0;
totalCounter++;
}
if (difficulty.equals("easy")) {
if (totalCounter == 3) {
add(jbBack);
validate();
repaint();
}
}
if (difficulty.equals("medium")) {
if (totalCounter == 6) {
add(jbBack);
validate();
repaint();
}
}
if (difficulty.equals("hard")) {
if (totalCounter == 9) {
add(jbBack);
validate();
repaint();
}
}
}
@Override
public void paintComponent(Graphics g
) {
super.paintComponent(g);
Image myImage = Toolkit.getDefaultToolkit().getImage("images/background.jpg");
g.drawImage(myImage, 0, 0, this);
}
}
Please explain the code for me using xml or anything thank you
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started