Write a GUI-based java program that analyzes a soccer game. The user will type t
ID: 3836199 • Letter: W
Question
Write a GUI-based java program that analyzes a soccer game. The user will type the names of the two teams and the score of the game in four TextFields. You should add appropriate labels and provide buttons for the following: One button, when clicked, displays the team who won the game. Another button, when clicked, displays the game score. Another button, when clicked, displays the number of goals the winning team won. For this, you should design and code a separate (non-GUI) class encapsulating a soccer game, then instantiate an object of that class inside your GUI class and call the various methods as needed.
Explanation / Answer
Executable code:
package chegg1;
import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class JavaSoccer extends JFrame {
private JTextField inputTeam1, inputTeam2, DisplayOfTeam1a, DisplayOfTeam2a, DisplayOfTeam1b, DisplayOfTeam2b;
private JLabel vsLabel, message, message1;
private JButton button1, button2, button3, button4;
private int randomScore1 = (int) (Math.random() * 5);
private int randomScore2 = (int) (Math.random() * 5);
private int randomScore3 = (int) (Math.random() * 5);
private int randomScore4 = (int) (Math.random() * 5);
public JavaSoccer(String name) {
GridBagLayout layout = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
setLayout(layout);
// team1 = new JLabel( "" ); // text field label
// inputTeam1 = new JTextField("Team1", 5 ); // text field is 5
// characters wide
inputTeam1 = new JTextField(" Team1 ", 5);
constraints.gridx = 0;
constraints.gridy = 0;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weightx = 0;
constraints.weighty = 0;
constraints.anchor = GridBagConstraints.WEST;
layout.setConstraints(inputTeam1, constraints);
add(inputTeam1);
inputTeam2 = new JTextField(" Team2 ", 5);
constraints.gridx = 2;
constraints.gridy = 0;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weightx = 0;
constraints.weighty = 0;
layout.setConstraints(inputTeam2, constraints);
constraints.anchor = GridBagConstraints.EAST;
add(inputTeam2);
message = new JLabel("World Cup 2006");
constraints.gridx = 1;
constraints.gridy = 1;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weightx = 0;
constraints.weighty = 0;
layout.setConstraints(message, constraints);
constraints.anchor = GridBagConstraints.CENTER;
add(message);
DisplayOfTeam1a = new JTextField(" 0 ", 5);
constraints.gridx = 0;
constraints.gridy = 2;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weightx = 0;
constraints.weighty = 0;
constraints.anchor = GridBagConstraints.CENTER;
layout.setConstraints(DisplayOfTeam1a, constraints);
add(DisplayOfTeam1a);
DisplayOfTeam2a = new JTextField(" 0 ", 5);
DisplayOfTeam2a.setEditable(false);
constraints.gridx = 2;
constraints.gridy = 2;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weightx = 0;
constraints.weighty = 0;
constraints.anchor = GridBagConstraints.CENTER;
layout.setConstraints(DisplayOfTeam2a, constraints);
add(DisplayOfTeam2a);
DisplayOfTeam1b = new JTextField(" 0 ", 5);
constraints.gridx = 0;
constraints.gridy = 3;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weightx = 0;
constraints.weighty = 0;
constraints.anchor = GridBagConstraints.CENTER;
layout.setConstraints(DisplayOfTeam1b, constraints);
add(DisplayOfTeam1b);
DisplayOfTeam2b = new JTextField(" 0 ", 5);
constraints.gridx = 2;
constraints.gridy = 3;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weightx = 0;
constraints.weighty = 0;
constraints.anchor = GridBagConstraints.CENTER;
layout.setConstraints(DisplayOfTeam2b, constraints);
add(DisplayOfTeam2b);
message1 = new JLabel("World Cup 2006");
constraints.gridx = 1;
constraints.gridy = 4;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weightx = 0;
constraints.weighty = 0;
layout.setConstraints(message1, constraints);
constraints.anchor = GridBagConstraints.CENTER;
add(message1);
button1 = new JButton("Add");
button1.setMnemonic('A');
constraints.gridx = 0;
constraints.gridy = 5;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.insets = new Insets(12, 3, 3, 12);
constraints.anchor = GridBagConstraints.NORTHWEST;
constraints.weightx = 0;
constraints.weighty = 0;
layout.setConstraints(button1, constraints);
add(button1);
button2 = new JButton("Button2");
button2.setMnemonic('B');
constraints.gridx = 1;
constraints.gridy = 5;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.insets = new Insets(3, 3, 0, 12);
constraints.anchor = GridBagConstraints.NORTH;
constraints.weightx = 0;
constraints.weighty = 0;
layout.setConstraints(button2, constraints);
add(button2);
button3 = new JButton("Add");
button3.setMnemonic('A');
constraints.gridx = 2;
constraints.gridy = 5;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.insets = new Insets(12, 3, 3, 12);
constraints.anchor = GridBagConstraints.NORTHEAST;
constraints.weightx = 0;
constraints.weighty = 0;
layout.setConstraints(button3, constraints);
add(button3);
TextFieldHandler tfh = new TextFieldHandler();
inputTeam1.addActionListener(tfh);
inputTeam2.addActionListener(tfh);
QuestionButtonHandler qbh = new QuestionButtonHandler();
button1.addActionListener(qbh);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300, 300);
}
private class TextFieldHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (inputTeam1.getText().equals("") || ((inputTeam2.getText())).equals(""))
{
message.setForeground(Color.RED);
message.setText("Sorry!! Please enter two teams");
} else {
message.setForeground(Color.BLACK);
message.setText(inputTeam1.getText() + " VS " + inputTeam2.getText());
DisplayOfTeam1a.setText(randomScore1 + "");
DisplayOfTeam2a.setText(randomScore2 + "");
DisplayOfTeam1b.setText(randomScore3 + "");
DisplayOfTeam2b.setText(randomScore4 + "");
}
}
}
private class QuestionButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent ae) {
if ((randomScore1 > randomScore2) && (randomScore3 > randomScore4))
{
message1.setForeground(Color.RED);
message1.setText(inputTeam1 + "won the game");
} else {
message1.setForeground(Color.BLACK);
message1.setText(inputTeam2 + "won the game");
}
}
public void actionPerformed1(ActionEvent e) {
}
}
public static void main(String[] args) {
JFrame frame = new JavaSoccer("A La Carte");
frame.setVisible(true);
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.