DeveloperMenu.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package org.leumasjaffe.charsheet.view.dev;
  2. import java.util.stream.Collectors;
  3. import javax.swing.JDialog;
  4. import javax.swing.JMenu;
  5. import javax.swing.JMenuItem;
  6. import javax.swing.JOptionPane;
  7. import org.leumasjaffe.charsheet.model.DDCharacter;
  8. import org.leumasjaffe.charsheet.model.DDCharacterClass;
  9. import org.leumasjaffe.charsheet.view.skills.SkillLevelUpDialogue;
  10. public class DeveloperMenu extends JMenu {
  11. /**
  12. *
  13. */
  14. private static final long serialVersionUID = 1L;
  15. DDCharacter[] model = { null };
  16. public DeveloperMenu() {
  17. super("Developer");
  18. JMenuItem mntmLevelUp = new JMenuItem("Level Up - Skill");
  19. mntmLevelUp.addActionListener( e -> {
  20. Object[] choices = model[0].getClasses().stream().map(DDCharacterClass::getName).collect(Collectors.toList()).toArray();
  21. String clazz = (String) JOptionPane.showInputDialog(this.getParent(), "Which Class is Leveling Up?", "Level Up - Skill",
  22. JOptionPane.QUESTION_MESSAGE, null, choices, choices[0]);
  23. if (clazz != null) {
  24. final JDialog dialog = new JDialog();
  25. dialog.setTitle("Level Up - Skill Allocation");
  26. dialog.setModal(true);
  27. dialog.setSize(510, 600);
  28. dialog.setContentPane(new SkillLevelUpDialogue(model[0], model[0].getClasses().stream().filter(c -> c.getName().equals(clazz)).findFirst().get()));
  29. dialog.setVisible(true);
  30. dialog.pack();
  31. }
  32. });
  33. add(mntmLevelUp);
  34. }
  35. public void setModel(DDCharacter model) {
  36. this.model[0] = model;
  37. }
  38. }