import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GUI { Kontroll kontroll; JFrame vindu; JPanel panel, scores, lastWinP, options; JLabel youScore, machineScore, lastWinL; 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); lastWinP = new JPanel(); lastWinL = new JLabel("No rounds played yet."); lastWinP.add(lastWinL); panel.add(lastWinP, BorderLayout.CENTER); options = new JPanel(); rock = new JButton("Rock"); paper = new JButton("Paper"); scissors = new JButton("Scissors"); class RockListener implements ActionListener { @Override public void actionPerformed(ActionEvent ae) { kontroll.spill("Rock"); } } rock.addActionListener(new RockListener()); options.add(rock); class PaperListener implements ActionListener { @Override public void actionPerformed(ActionEvent ae) { kontroll.spill("Paper"); } } paper.addActionListener(new PaperListener()); options.add(paper); class ScissorsListener implements ActionListener { @Override public void actionPerformed(ActionEvent ae) { kontroll.spill("Scissors"); } } scissors.addActionListener(new ScissorsListener()); options.add(scissors); panel.add(options, BorderLayout.SOUTH); vindu.pack(); vindu.setLocationRelativeTo(null); vindu.setVisible(true); } public void updateResults(String whoWon, int score1, int score2) { youScore.setText("You: " + score1); machineScore.setText("Computer: " + score2); lastWinL.setText("Who won: " + whoWon); } }