All pastes #350737 Raw Edit

Something

public text v1 · immutable
·published 2007-02-11 17:51 UTC
rendered paste body
/*
 * Oppgave 1B, delprøve 1 februar 2006
 */

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class GUI extends JFrame {
  private JButton[][] plasser;
  private int køplass = 0;

  public GUI(String tittel, int antRekker, int antKolonner) {
    setTitle(tittel);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Knappelytter lytter = new Knappelytter();
    setLayout(new GridLayout(antRekker, antKolonner, 5, 5));

    plasser = new JButton[antRekker][antKolonner];
    for (int rekkenr = 0; rekkenr < antRekker; rekkenr++) {
      for (int kolonnenr = 0; kolonnenr < antKolonner; kolonnenr++) {
        /* Første innskudd i koden starter her ... */
        plasser[rekkenr][kolonnenr] = new JButton("    ");
        plasser[rekkenr][kolonnenr].addActionListener(lytter);
        plasser[rekkenr][kolonnenr].setBackground(Color.white);
        add(plasser[rekkenr][kolonnenr]);
        /* ... og slutter her */
      }
    }
    pack();
  }

  class Knappelytter implements ActionListener {
    public void actionPerformed(ActionEvent hendelse) {
      JButton knapp = (JButton) hendelse.getSource();
      /* Andre innskudd i koden starter her ... */
      if (knapp.getBackground().equals(Color.white)) {
        knapp.setBackground(Color.yellow);
        køplass++;
        knapp.setText("" + køplass);
      } else {
        int plassTrykket = Integer.parseInt(knapp.getText());
        if (plassTrykket > 1) JOptionPane.showMessageDialog(null, "Denne er ikke først i køen");
        else {
          flyttAlleEnPlassFram();
          køplass--;
          knapp.setBackground(Color.white);
          knapp.setText("");
        }
      }
    }

    private void flyttAlleEnPlassFram() {
      for (JButton[] enRad : plasser) {
        for (JButton enPlass : enRad) {
          if (enPlass.getBackground().equals(Color.yellow)) {
            int plassKø = Integer.parseInt(enPlass.getText());
            plassKø--;
            enPlass.setText("" + plassKø);
          }
        }
      }
    }
    /* ... og slutter her */
  }
}

class Oppgave1B {
  public static void main(String[] args) {
    GUI klasserom = new GUI("PC-labb", 3, 4);
    klasserom.setVisible(true);
  }
}