rendered paste body public BioVy(Performance p) { this.p = p; addMouseListener(new MouseClickListener()); } public void paintComponent(Graphics g) { super.paintComponent(g); g.setFont(new Font("Monospaced", Font.BOLD, 13)); for (int i = 0; i < p.getR(); i++) { g.setColor(Color.BLACK); g.drawString("rad " + (i+1), marg-60, (marg-15) + (i+1)*size); g.drawString("rad " + (i+1), (marg+20) + p.getC()*size, (marg-15) + (i+1)*size); } g.setFont(new Font("Monospaced", Font.PLAIN, 12)); for (int i = 0; i < p.getR(); i++) { for (int j = 0; j < p.getC(); j++) { g.setColor(Color.BLACK); g.drawRect(marg + j*size, marg + i*size, size, size); if (p.getStatus(i, j) == 1) { g.setColor(Color.GREEN); g.fillRect(marg + j*size + 1, marg + i*size + 1, size-1, size-1); } else if (p.getStatus(i, j) == 2) { g.setColor(Color.YELLOW); g.fillRect(marg + j*size + 1, marg + i*size + 1, size-1, size-1); } else if (p.getStatus(i, j) == 3) { g.setColor(Color.RED); g.fillRect(marg + j*size + 1, marg + i*size + 1, size-1, size-1); } g.setColor(Color.BLACK); String seat = "" + (j+1); if ((j+1) != p.getC()) g.drawString(seat, (marg-30) + (j+1)*size, (marg-20) + (i+1)*size); else g.drawString(seat, (marg-30) + p.getC()*size, (marg-20) + (i+1)*size); } } if (r > 0 && r < p.getR() + marg) if (c > 0 && c < p.getC() + marg) { g.drawRect(c*size+6, r*size+6, size-2, size-2); g.drawRect(c*size+4, r*size+4, size+2, size+2); } } public int getStl() { return size; } public void unMarkSeat() { r = 0; c = 0; repaint(); } public int getMarkedRow() { return c; } public int getMarkedCol() { return r; } private class MouseClickListener extends MouseAdapter { public void mouseClicked(MouseEvent e) { int x = e.getY(); int y = e.getX(); if (x >= marg && x <= size*p.getR() + marg) if (y >= marg && y <= size*p.getC() + marg) { r = x/size; c = y/size; } repaint(); } }------------------------------I Kontroll-klassen: private class Lyssnare implements ActionListener { public void actionPerformed(ActionEvent e) { if (e.getSource() == quit) System.exit(0); else if (e.getSource() == boka) { p.boka(vy.getMarkedRow(), vy.getMarkedCol()); vy.unMarkSeat(); } else if (e.getSource() == köpa) { p.köp(vy.getMarkedRow(), vy.getMarkedCol()); vy.unMarkSeat(); } vy.repaint(); } }