CanvasResizePopUp.java 3.1 KB

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