import javax.swing.*; import java.awt.*; /** * Das ShipButton Panel dient dem Erstellen eines lokalen Spiels. * Hier kann der Benutzer Spieler inklusive Namen und das Semester, in dem sich der Benutzer befindet, einstellen. * @author Lucas Bronson, Luca Conte, Joshua Kuklok */ public class ShipButton extends JButton { private Ship ship; private BoardDisplay boardDisplay; /** * TODO fertig beschreiben * @param ship * @param boardDisplay * @author Lucas Bronson, Luca Conte, Joshua Kuklok */ public ShipButton(Ship ship, BoardDisplay boardDisplay) { super(ship.getName()); this.ship = ship; this.boardDisplay = boardDisplay; this.addActionListener((e) -> { boardDisplay.selectCurrentShip(this.ship); }); } /** * Setzt Farbe der Modulbuttons. * Verschiedene Farben für: * Modul ausgewählt, platziert nicht platziert. * @author Joshua Kuklok */ public void refreshButtonState() { if (ship.isPlaced()) { setBackground(Color.LIGHT_GRAY); } else { setBackground(Color.WHITE); } if (boardDisplay.getCurrentShip() == ship) { setBackground(Color.CYAN); } } }