1
0

LS03-02-2 | LevelChooser: Ausblenden der nicht benötigten Buttons je nach Quelle des Aufrufs

This commit is contained in:
2021-05-28 09:25:21 +02:00
parent 1d4c43990b
commit 77ab0f130b
3 changed files with 18 additions and 5 deletions
@@ -30,8 +30,9 @@ public class LevelChoice {
* Create the panel * Create the panel
* @param controller * @param controller
* @param leveldesignWindow * @param leveldesignWindow
* @param source
*/ */
public LevelChoice(AlienDefenceController controller, LeveldesignWindow leveldesignWindow, User user) { public LevelChoice(AlienDefenceController controller, LeveldesignWindow leveldesignWindow, User user, int source) {
this.lvlControl = controller.getLevelController(); this.lvlControl = controller.getLevelController();
this.leveldesignWindow = leveldesignWindow; this.leveldesignWindow = leveldesignWindow;
@@ -61,6 +62,15 @@ public class LevelChoice {
btnPlay_Clicked(controller, user); btnPlay_Clicked(controller, user);
} }
}); });
if (source == LeveldesignWindow.LEVELEDITOR) {
btnPlay.setVisible(false);
}
else if (source == LeveldesignWindow.TESTEN) {
btnNewLevel.setVisible(false);
btnUpdateLevel.setVisible(false);
btnDeleteLevel.setVisible(false);
}
} }
private String[][] getLevelsAsTableModel() { private String[][] getLevelsAsTableModel() {
@@ -21,10 +21,13 @@ public class LeveldesignWindow extends JFrame {
private CardLayout cards; private CardLayout cards;
public static int TESTEN = 0;
public static int LEVELEDITOR = 1;
/** /**
* Create the frame. * Create the frame.
*/ */
public LeveldesignWindow(AlienDefenceController controller, User user) { public LeveldesignWindow(AlienDefenceController controller, User user, int source) {
this.lvlControl = controller.getLevelController(); this.lvlControl = controller.getLevelController();
setTitle("Leveldesigner"); setTitle("Leveldesigner");
@@ -36,7 +39,7 @@ public class LeveldesignWindow extends JFrame {
this.cards = new CardLayout(); this.cards = new CardLayout();
contentPane.setLayout(cards); contentPane.setLayout(cards);
levelChoice = new LevelChoice(controller, this, user); levelChoice = new LevelChoice(controller, this, user, source);
contentPane.add(levelChoice.getPanel(), "levelChooser"); contentPane.add(levelChoice.getPanel(), "levelChooser");
this.cardLevelEditor = new LevelEditor(this, controller, Level.getDefaultLevel()); this.cardLevelEditor = new LevelEditor(this, controller, Level.getDefaultLevel());
@@ -64,7 +64,7 @@ public class MainMenu {
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
// Erstellt Modell von aktuellen Nutzer // Erstellt Modell von aktuellen Nutzer
User user = new User(1, "test", "pass"); User user = new User(1, "test", "pass");
new LeveldesignWindow(alienDefenceController, user); new LeveldesignWindow(alienDefenceController, user, LeveldesignWindow.TESTEN);
} }
}); });
@@ -80,7 +80,7 @@ public class MainMenu {
levelEditorButton.addActionListener(new ActionListener() { levelEditorButton.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
new LeveldesignWindow(alienDefenceController, null); new LeveldesignWindow(alienDefenceController, null, LeveldesignWindow.LEVELEDITOR);
} }
}); });