Add network game menu item
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@400 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
8197b36e2b
commit
82eb3eb24e
1 changed files with 60 additions and 53 deletions
|
@ -68,6 +68,7 @@ public class View extends JFrame implements IView {
|
||||||
private Event menuNewGameEvent = new Event();
|
private Event menuNewGameEvent = new Event();
|
||||||
private Event menuQuitEvent = new Event();
|
private Event menuQuitEvent = new Event();
|
||||||
|
|
||||||
|
private Event networkGameEvent = new Event();
|
||||||
private Event1<File> loadEvent = new Event1<File>();
|
private Event1<File> loadEvent = new Event1<File>();
|
||||||
private Event1<File> saveEvent = new Event1<File>();
|
private Event1<File> saveEvent = new Event1<File>();
|
||||||
|
|
||||||
|
@ -137,7 +138,7 @@ public class View extends JFrame implements IView {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IEvent getNetworkGameEvent() {
|
public IEvent getNetworkGameEvent() {
|
||||||
return settingsPanel.getNetworkGameEvent();
|
return networkGameEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -145,8 +146,7 @@ public class View extends JFrame implements IView {
|
||||||
showScorePanel(false);
|
showScorePanel(false);
|
||||||
showSettingsPanel(false);
|
showSettingsPanel(false);
|
||||||
showLoginPanel(false);
|
showLoginPanel(false);
|
||||||
getHandPanel().setStones(
|
getHandPanel().setStones(Collections.<Pair<Stone, Position>> emptyList());
|
||||||
Collections.<Pair<Stone, Position>> emptyList());
|
|
||||||
getTablePanel().setStoneSets(
|
getTablePanel().setStoneSets(
|
||||||
Collections.<Pair<StoneSet, Position>> emptyList());
|
Collections.<Pair<StoneSet, Position>> emptyList());
|
||||||
setSelectedStones(Collections.<Stone> emptyList());
|
setSelectedStones(Collections.<Stone> emptyList());
|
||||||
|
@ -165,14 +165,8 @@ public class View extends JFrame implements IView {
|
||||||
JMenu gameMenu = new JMenu("Spiel");
|
JMenu gameMenu = new JMenu("Spiel");
|
||||||
menuBar.add(gameMenu);
|
menuBar.add(gameMenu);
|
||||||
|
|
||||||
JMenuItem newItem = new JMenuItem("Neu");
|
gameMenu.add(createMenuItem("Neu", menuNewGameEvent));
|
||||||
newItem.addActionListener(new ActionListener() {
|
gameMenu.add(createMenuItem("Netzwerkspiel...", networkGameEvent));
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
menuNewGameEvent.emit();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
gameMenu.add(newItem);
|
|
||||||
|
|
||||||
gameMenu.addSeparator();
|
gameMenu.addSeparator();
|
||||||
|
|
||||||
|
@ -195,18 +189,22 @@ public class View extends JFrame implements IView {
|
||||||
|
|
||||||
gameMenu.addSeparator();
|
gameMenu.addSeparator();
|
||||||
|
|
||||||
JMenuItem quitItem = new JMenuItem("Beenden");
|
gameMenu.add(createMenuItem("Beenden", menuQuitEvent));
|
||||||
quitItem.addActionListener(new ActionListener() {
|
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
menuQuitEvent.emit();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
gameMenu.add(quitItem);
|
|
||||||
|
|
||||||
setJMenuBar(menuBar);
|
setJMenuBar(menuBar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private JMenuItem createMenuItem(String text, final Event event) {
|
||||||
|
JMenuItem item = new JMenuItem(text);
|
||||||
|
item.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
event.emit();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
private void load() {
|
private void load() {
|
||||||
int returnVal = chooser.showOpenDialog(View.this);
|
int returnVal = chooser.showOpenDialog(View.this);
|
||||||
if (returnVal == JFileChooser.APPROVE_OPTION) {
|
if (returnVal == JFileChooser.APPROVE_OPTION) {
|
||||||
|
@ -240,15 +238,7 @@ public class View extends JFrame implements IView {
|
||||||
|
|
||||||
createMainLayer();
|
createMainLayer();
|
||||||
|
|
||||||
settingsPanel = new SettingsPanel();
|
createSettingsPanel();
|
||||||
settingsPanel.setVisible(false);
|
|
||||||
|
|
||||||
settingsPanel.getLoadGameEvent().add(new IListener() {
|
|
||||||
@Override
|
|
||||||
public void handle() {
|
|
||||||
load();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
layeredPane.setLayer(settingsPanel, JLayeredPane.POPUP_LAYER);
|
layeredPane.setLayer(settingsPanel, JLayeredPane.POPUP_LAYER);
|
||||||
layeredPane.add(settingsPanel);
|
layeredPane.add(settingsPanel);
|
||||||
|
@ -274,6 +264,24 @@ public class View extends JFrame implements IView {
|
||||||
setVisible(true);
|
setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void createSettingsPanel() {
|
||||||
|
settingsPanel = new SettingsPanel();
|
||||||
|
settingsPanel.setVisible(false);
|
||||||
|
|
||||||
|
settingsPanel.getNetworkGameEvent().add(new IListener() {
|
||||||
|
@Override
|
||||||
|
public void handle() {
|
||||||
|
networkGameEvent.emit();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
settingsPanel.getLoadGameEvent().add(new IListener() {
|
||||||
|
@Override
|
||||||
|
public void handle() {
|
||||||
|
load();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void createMainLayer() {
|
private void createMainLayer() {
|
||||||
mainLayer = new JPanel();
|
mainLayer = new JPanel();
|
||||||
mainLayer.setLayout(null);
|
mainLayer.setLayout(null);
|
||||||
|
@ -283,8 +291,8 @@ public class View extends JFrame implements IView {
|
||||||
mainLayer.add(table);
|
mainLayer.add(table);
|
||||||
|
|
||||||
playerPanel = new PlayerPanel();
|
playerPanel = new PlayerPanel();
|
||||||
playerPanel.setBorder(new MatteBorder(PLAYER_PANEL_BORDER_WIDTH, 0, 0,
|
playerPanel.setBorder(new MatteBorder(PLAYER_PANEL_BORDER_WIDTH, 0, 0, 0,
|
||||||
0, Color.BLACK));
|
Color.BLACK));
|
||||||
mainLayer.add(playerPanel);
|
mainLayer.add(playerPanel);
|
||||||
|
|
||||||
startTurnPanel = new StartTurnPanel();
|
startTurnPanel = new StartTurnPanel();
|
||||||
|
@ -394,24 +402,24 @@ public class View extends JFrame implements IView {
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private List<Pair<Stone, Position>> createDecorationStones() {
|
private List<Pair<Stone, Position>> createDecorationStones() {
|
||||||
Pair<Stone, Position> stoneJ = new Pair<Stone, Position>(new Stone(
|
Pair<Stone, Position> stoneJ = new Pair<Stone, Position>(new Stone(-'J',
|
||||||
-'J', StoneColor.BLACK), new Position(2.5f, 0));
|
StoneColor.BLACK), new Position(2.5f, 0));
|
||||||
Pair<Stone, Position> stoneR = new Pair<Stone, Position>(new Stone(
|
Pair<Stone, Position> stoneR = new Pair<Stone, Position>(new Stone(-'R',
|
||||||
-'R', StoneColor.ORANGE), new Position(3.5f, 0));
|
StoneColor.ORANGE), new Position(3.5f, 0));
|
||||||
Pair<Stone, Position> stoneu1 = new Pair<Stone, Position>(new Stone(
|
Pair<Stone, Position> stoneu1 = new Pair<Stone, Position>(new Stone(-'u',
|
||||||
-'u', StoneColor.BLUE), new Position(4.5f, 0));
|
StoneColor.BLUE), new Position(4.5f, 0));
|
||||||
Pair<Stone, Position> stonem1 = new Pair<Stone, Position>(new Stone(
|
Pair<Stone, Position> stonem1 = new Pair<Stone, Position>(new Stone(-'m',
|
||||||
-'m', StoneColor.RED), new Position(5.5f, 0));
|
StoneColor.RED), new Position(5.5f, 0));
|
||||||
Pair<Stone, Position> stonem2 = new Pair<Stone, Position>(new Stone(
|
Pair<Stone, Position> stonem2 = new Pair<Stone, Position>(new Stone(-'m',
|
||||||
-'m', StoneColor.GREEN), new Position(6.5f, 0));
|
StoneColor.GREEN), new Position(6.5f, 0));
|
||||||
Pair<Stone, Position> stonei = new Pair<Stone, Position>(new Stone(
|
Pair<Stone, Position> stonei = new Pair<Stone, Position>(new Stone(-'i',
|
||||||
-'i', StoneColor.VIOLET), new Position(7.5f, 0));
|
StoneColor.VIOLET), new Position(7.5f, 0));
|
||||||
Pair<Stone, Position> stonek = new Pair<Stone, Position>(new Stone(
|
Pair<Stone, Position> stonek = new Pair<Stone, Position>(new Stone(-'k',
|
||||||
-'k', StoneColor.AQUA), new Position(8.5f, 0));
|
StoneColor.AQUA), new Position(8.5f, 0));
|
||||||
Pair<Stone, Position> stoneu2 = new Pair<Stone, Position>(new Stone(
|
Pair<Stone, Position> stoneu2 = new Pair<Stone, Position>(new Stone(-'u',
|
||||||
-'u', StoneColor.GRAY), new Position(9.5f, 0));
|
StoneColor.GRAY), new Position(9.5f, 0));
|
||||||
Pair<Stone, Position> stoneb = new Pair<Stone, Position>(new Stone(
|
Pair<Stone, Position> stoneb = new Pair<Stone, Position>(new Stone(-'b',
|
||||||
-'b', StoneColor.BLACK), new Position(10.5f, 0));
|
StoneColor.BLACK), new Position(10.5f, 0));
|
||||||
|
|
||||||
Pair<Stone, Position> stone1 = new Pair<Stone, Position>(new Stone(
|
Pair<Stone, Position> stone1 = new Pair<Stone, Position>(new Stone(
|
||||||
StoneColor.RED), new Position(2, 1));
|
StoneColor.RED), new Position(2, 1));
|
||||||
|
@ -426,9 +434,9 @@ public class View extends JFrame implements IView {
|
||||||
Pair<Stone, Position> stone6 = new Pair<Stone, Position>(new Stone(
|
Pair<Stone, Position> stone6 = new Pair<Stone, Position>(new Stone(
|
||||||
StoneColor.BLACK), new Position(11, 1));
|
StoneColor.BLACK), new Position(11, 1));
|
||||||
|
|
||||||
return Arrays.asList(stoneJ, stoneR, stoneu1, stonem1, stonem2, stonei,
|
return Arrays
|
||||||
stonek, stoneu2, stoneb, stone1, stone2, stone3, stone4,
|
.asList(stoneJ, stoneR, stoneu1, stonem1, stonem2, stonei, stonek,
|
||||||
stone5, stone6);
|
stoneu2, stoneb, stone1, stone2, stone3, stone4, stone5, stone6);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -445,8 +453,7 @@ public class View extends JFrame implements IView {
|
||||||
&& type != BottomPanelType.WIN_PANEL && type != null);
|
&& type != BottomPanelType.WIN_PANEL && type != null);
|
||||||
|
|
||||||
if (type == BottomPanelType.START_GAME_PANEL) {
|
if (type == BottomPanelType.START_GAME_PANEL) {
|
||||||
table.setStoneSets(Collections
|
table.setStoneSets(Collections.<Pair<StoneSet, Position>> emptyList());
|
||||||
.<Pair<StoneSet, Position>> emptyList());
|
|
||||||
playerPanel.getHandPanel().setStones(createDecorationStones());
|
playerPanel.getHandPanel().setStones(createDecorationStones());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue