VisitorsDialogPanel.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package gui.simulator;
  2. import java.awt.Color;
  3. import java.awt.Dimension;
  4. import java.awt.Font;
  5. import java.awt.Label;
  6. import java.awt.Toolkit;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import javax.swing.BorderFactory;
  10. import javax.swing.BoxLayout;
  11. import javax.swing.JButton;
  12. import javax.swing.JDialog;
  13. import javax.swing.JOptionPane;
  14. import javax.swing.JPanel;
  15. import javax.swing.JTextField;
  16. public class VisitorsDialogPanel extends JDialog{
  17. private JTextField visitorstextfield;
  18. private Terrain terrain;
  19. public VisitorsDialogPanel(Terrain terrain){
  20. this.terrain = terrain;
  21. this.getContentPane().setBackground( Color.WHITE );
  22. JPanel main = new JPanel();
  23. main.setOpaque(false);
  24. main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS));
  25. Label label = new Label("Choose max visitors");
  26. label.setBackground(Color.WHITE);
  27. label.setFont(new Font("Arial", Font.PLAIN, 14));
  28. main.add(label);
  29. main.add(this.lengthPanel());
  30. main.add(this.buttons());
  31. main.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  32. Toolkit toolkit = Toolkit.getDefaultToolkit();
  33. Dimension screenSize = toolkit.getScreenSize();
  34. int x = ((screenSize.width - this.getWidth()) / 2)-100;
  35. int y = ((screenSize.height - this.getHeight()) / 2)-100;
  36. this.setLocation(x, y);
  37. super.add(main);
  38. super.setVisible(true);
  39. super.pack();
  40. }
  41. private JPanel lengthPanel(){
  42. JPanel name = new JPanel();
  43. name.setOpaque(false);
  44. name.setLayout(new BoxLayout(name, BoxLayout.X_AXIS));
  45. name.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0));
  46. Label label = new Label("Visitors");
  47. label.setBackground(Color.WHITE);
  48. label.setFont(new Font("Arial", Font.PLAIN, 11));
  49. name.add(label);
  50. this.visitorstextfield = new JTextField();
  51. name.add(this.visitorstextfield);
  52. return name;
  53. }
  54. private JPanel buttons(){
  55. JPanel buttons = new JPanel();
  56. buttons.setOpaque(false);
  57. JButton save = new JButton("Save");
  58. save.addActionListener(new ActionListener() {
  59. @Override
  60. public void actionPerformed(ActionEvent e) {
  61. save();
  62. }
  63. });
  64. buttons.add(save);
  65. JButton cancel = new JButton("Cancel");
  66. cancel.addActionListener(new ActionListener() {
  67. @Override
  68. public void actionPerformed(ActionEvent e) {
  69. cancel();
  70. }
  71. });
  72. buttons.add(cancel);
  73. return buttons;
  74. }
  75. private void save(){
  76. if(this.visitorstextfield.getText().equals("")){
  77. JOptionPane.showMessageDialog(null, "Visitors can't be empty!", "Warning", JOptionPane.WARNING_MESSAGE);
  78. return;
  79. }else{
  80. int visitors = Integer.parseInt(this.visitorstextfield.getText());
  81. if(visitors <0){
  82. JOptionPane.showMessageDialog(null, "Visitors can't be less than 0!", "Warning", JOptionPane.WARNING_MESSAGE);
  83. }
  84. terrain.setMaxVisitors(visitors);
  85. dispose();
  86. }
  87. }
  88. private void cancel(){
  89. dispose();
  90. }
  91. protected JButton saveButton() {
  92. JButton button = new JButton("Save");
  93. button.addActionListener(new ActionListener() {
  94. @Override
  95. public void actionPerformed(ActionEvent e) {
  96. save();
  97. }
  98. });
  99. return button;
  100. }
  101. }