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
* @param controller
* @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.leveldesignWindow = leveldesignWindow;
@@ -61,6 +62,15 @@ public class LevelChoice {
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() {
@@ -21,10 +21,13 @@ public class LeveldesignWindow extends JFrame {
private CardLayout cards;
public static int TESTEN = 0;
public static int LEVELEDITOR = 1;
/**
* Create the frame.
*/
public LeveldesignWindow(AlienDefenceController controller, User user) {
public LeveldesignWindow(AlienDefenceController controller, User user, int source) {
this.lvlControl = controller.getLevelController();
setTitle("Leveldesigner");
@@ -36,7 +39,7 @@ public class LeveldesignWindow extends JFrame {
this.cards = new CardLayout();
contentPane.setLayout(cards);
levelChoice = new LevelChoice(controller, this, user);
levelChoice = new LevelChoice(controller, this, user, source);
contentPane.add(levelChoice.getPanel(), "levelChooser");
this.cardLevelEditor = new LevelEditor(this, controller, Level.getDefaultLevel());
@@ -64,7 +64,7 @@ public class MainMenu {
public void actionPerformed(ActionEvent e) {
// Erstellt Modell von aktuellen Nutzer
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() {
@Override
public void actionPerformed(ActionEvent e) {
new LeveldesignWindow(alienDefenceController, null);
new LeveldesignWindow(alienDefenceController, null, LeveldesignWindow.LEVELEDITOR);
}
});