Continuing gradual process of collecting state from various GUI components and handlers and aggregating it in PlayerController.
Removed references to Refree from some handlers, replacing them with direct use of PlayerController (Law of Demeter).
This commit is contained in:
@@ -4,8 +4,6 @@ import java.awt.Color;
|
||||
import java.awt.GridBagConstraints;
|
||||
import java.awt.GridBagLayout;
|
||||
import java.awt.Insets;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
|
||||
import javax.security.auth.RefreshFailedException;
|
||||
import javax.security.auth.Refreshable;
|
||||
@@ -14,27 +12,25 @@ import javax.swing.ImageIcon;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import controller.PlayerController;
|
||||
import controller.TSPMouseListener;
|
||||
|
||||
import model.Board.TileColor;
|
||||
import model.Referee;
|
||||
|
||||
public class TileSelectionPanel extends JPanel implements Refreshable {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private final JLabel blue = new JLabel(new ImageIcon(BoardPanel.BLUE_ICON));
|
||||
private final JLabel green = new JLabel(
|
||||
new ImageIcon(BoardPanel.GREEN_ICON));
|
||||
private boolean isCurrent = true;
|
||||
private final JLabel red = new JLabel(new ImageIcon(BoardPanel.RED_ICON));
|
||||
private final Referee referee;
|
||||
private final JLabel yellow = new JLabel(new ImageIcon(
|
||||
BoardPanel.YELLOW_ICON));
|
||||
|
||||
public TileSelectionPanel(Referee ref) {
|
||||
referee = ref;
|
||||
private final PlayerController pc;
|
||||
|
||||
public TileSelectionPanel(PlayerController pc) {
|
||||
this.pc = pc;
|
||||
|
||||
initLayout();
|
||||
initActions();
|
||||
@@ -42,12 +38,16 @@ public class TileSelectionPanel extends JPanel implements Refreshable {
|
||||
|
||||
@Override
|
||||
public boolean isCurrent() {
|
||||
return isCurrent;
|
||||
return pc.isCurrent();
|
||||
}
|
||||
|
||||
public void setCurrent(boolean current) {
|
||||
pc.setCurrent(current);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh() throws RefreshFailedException {
|
||||
TileColor tile = referee.getPlayer().getColor();
|
||||
TileColor tile = pc.getColor();
|
||||
|
||||
blue.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
|
||||
green.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
|
||||
@@ -69,102 +69,14 @@ public class TileSelectionPanel extends JPanel implements Refreshable {
|
||||
break;
|
||||
}
|
||||
|
||||
isCurrent = true;
|
||||
pc.setCurrent(true);
|
||||
}
|
||||
|
||||
private void initActions() {
|
||||
blue.addMouseListener(new MouseListener() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent arg0) {
|
||||
referee.getPlayer().setColor(TileColor.BLUE);
|
||||
isCurrent = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent arg0) {
|
||||
}
|
||||
});
|
||||
green.addMouseListener(new MouseListener() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent arg0) {
|
||||
referee.getPlayer().setColor(TileColor.GREEN);
|
||||
isCurrent = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent arg0) {
|
||||
}
|
||||
});
|
||||
red.addMouseListener(new MouseListener() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent arg0) {
|
||||
referee.getPlayer().setColor(TileColor.RED);
|
||||
isCurrent = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent arg0) {
|
||||
}
|
||||
});
|
||||
yellow.addMouseListener(new MouseListener() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent arg0) {
|
||||
referee.getPlayer().setColor(TileColor.YELLOW);
|
||||
isCurrent = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent arg0) {
|
||||
}
|
||||
});
|
||||
blue.addMouseListener(new TSPMouseListener(pc, this, TileColor.BLUE));
|
||||
green.addMouseListener(new TSPMouseListener(pc, this, TileColor.GREEN));
|
||||
red.addMouseListener(new TSPMouseListener(pc, this, TileColor.RED));
|
||||
yellow.addMouseListener(new TSPMouseListener(pc, this, TileColor.YELLOW));
|
||||
}
|
||||
|
||||
private void initLayout() {
|
||||
|
||||
Reference in New Issue
Block a user