CanvasResizePopUp.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package ui.view;
  2. import ui.controller.Control;
  3. import ui.model.Model;
  4. import javax.swing.*;
  5. import java.awt.*;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. public class CanvasResizePopUp extends JDialog {
  9. /**
  10. *
  11. */
  12. private static final long serialVersionUID = 1L;
  13. private final JButton btnOk = new JButton("OK");
  14. private final JButton btnCancel = new JButton("Cancel");
  15. JTabbedPane tabbedPane;
  16. JTabbedPane tabbedPane2;
  17. Model model;
  18. Control controller;
  19. MyCanvas canvas;
  20. private JPanel mainPanel = new JPanel();
  21. private JTextField tFieldWidht = new JTextField();
  22. private JTextField tFieldHeight = new JTextField();
  23. private JLabel lblWidth = new JLabel("Width:");
  24. private JLabel lblHeight = new JLabel("Height:");
  25. private JPanel buttonPanel = new JPanel();
  26. public CanvasResizePopUp(Model model, Control controller, MyCanvas canvas, JTabbedPane tabbedPane,
  27. JTabbedPane tabbedPane2, JFrame parentFrame) {
  28. super((java.awt.Frame) null, true);
  29. this.tabbedPane = tabbedPane;
  30. this.tabbedPane2 = tabbedPane2;
  31. this.model = model;
  32. this.controller = controller;
  33. this.canvas = canvas;
  34. // properties and stuff
  35. this.setIconImage(new ImageIcon(this.getClass().getResource("/Images/Dummy_House.png")).getImage()
  36. .getScaledInstance(30, 30, Image.SCALE_SMOOTH));
  37. this.setTitle("Set the Size of the View");
  38. setBounds(200, 100, 200, 100);
  39. setLocationRelativeTo(parentFrame);
  40. // MainPanel
  41. tFieldWidht.setText("" + model.getCanvasX());
  42. tFieldHeight.setText("" + model.getCanvasY());
  43. mainPanel.add(lblWidth);
  44. mainPanel.add(tFieldHeight);
  45. mainPanel.add(lblHeight);
  46. mainPanel.add(tFieldWidht);
  47. mainPanel.setBackground(Color.WHITE);
  48. // Button Panel
  49. btnOk.addActionListener(new ActionListener() {
  50. @Override
  51. public void actionPerformed(ActionEvent e) {
  52. controller.setCanvasX(Integer.parseInt(tFieldWidht.getText()));
  53. controller.setCanvasY(Integer.parseInt(tFieldHeight.getText()));
  54. canvas.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
  55. for (int i = 4; i < tabbedPane.getTabCount(); i++) {
  56. if (tabbedPane.getComponentAt(i) != null) {
  57. UpperNodeCanvas unc = ((UpperNodeCanvas) ((JScrollPane) tabbedPane.getComponentAt(i))
  58. .getViewport().getComponent(0));
  59. unc.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
  60. unc.repaint();
  61. }
  62. }
  63. if (tabbedPane2 != null && tabbedPane2.getSelectedIndex() >= 4) {
  64. UpperNodeCanvas unc = ((UpperNodeCanvas) ((JScrollPane) tabbedPane2.getSelectedComponent())
  65. .getViewport().getComponent(0));
  66. unc.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
  67. unc.repaint();
  68. }
  69. canvas.repaint();
  70. dispose();
  71. }
  72. });
  73. btnCancel.addActionListener(new ActionListener() {
  74. @Override
  75. public void actionPerformed(ActionEvent e) {
  76. dispose();
  77. }
  78. });
  79. buttonPanel.add(btnOk);
  80. buttonPanel.add(btnCancel);
  81. buttonPanel.setBackground(Color.WHITE);
  82. // Add to ContentPane
  83. getContentPane().add(mainPanel, BorderLayout.CENTER);
  84. getContentPane().add(buttonPanel, BorderLayout.SOUTH);
  85. }
  86. }