CanvasResizePopUp.java 3.4 KB

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