import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Oppgave1 { public static void main(String[] args) { try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() ); } catch (Exception e) { System.exit(-1); } JFrame vindu = new JFrame("Oppgave 1 lag et rutenett"); vindu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); vindu.add(panel); lagRutenett(panel, 2, 3); vindu.pack(); vindu.setVisible(true); } public static void lagRutenett(JPanel panel, int rader, int kolonner) { panel.setLayout(new GridLayout(rader, kolonner)); for (int i = 0; i < rader * kolonner; i++) { panel.add(new RuteKnapp(i + "")); } } } class RuteKnapp extends JButton { private String tall; private boolean erTrykket = false; public RuteKnapp(String tall) { super(tall); this.tall = tall; settOppGUI(); } public void settOppGUI() { addActionListener(new SkiftTegn()); } class SkiftTegn implements ActionListener { @Override public void actionPerformed(ActionEvent e) { if (erTrykket) { setText(tall); } else { setText(":)"); } erTrykket = !erTrykket; } } }