import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI { Kontroll kontroll; JFrame vindu; JPanel panel, scores, whoWonP, options; JLabel youScore, machineScore, whoWonL; JButton rock, paper, scissors; GUI(Kontroll k) { kontroll = k; vindu = new JFrame("Rock, Paper, Scissors"); vindu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel = new JPanel(); panel.setLayout(new BorderLayout()); vindu.add(panel); scores = new JPanel(); youScore = new JLabel("You: 0"); machineScore = new JLabel("Computer: 0"); scores.add(youScore); scores.add(machineScore); panel.add(scores, BorderLayout.NORTH); whoWonP = new JPanel(); whoWonL = new JLabel("No rounds played yet."); whoWonP.add(whoWonL); panel.add(whoWonP, BorderLayout.CENTER); options = new JPanel(); rock = new JButton("Rock"); paper = new JButton("Paper"); scissors = new JButton("Scissors"); class OptionListener implements ActionListener { String option; OptionListener(String option) { this.option = option; } @Override public void actionPerformed(ActionEvent ae) { kontroll.spill(option); } } rock.addActionListener(new OptionListener("Rock")); options.add(rock); paper.addActionListener(new OptionListener("Paper")); options.add(paper); scissors.addActionListener(new OptionListener("Scissors")); options.add(scissors); panel.add(options, BorderLayout.SOUTH); vindu.pack(); vindu.setLocationRelativeTo(null); vindu.setVisible(true); } public void updateResults(String lastWin, int score1, int score2) { youScore.setText("You: " + score1); machineScore.setText("Computer: " + score2); if (lastWin.equals("Draw")) { whoWonL.setText(lastWin); } else { whoWonL.setText(lastWin + " won!"); } } }