CanvasResizePopUp.java 3.2 KB

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