Browse Source

canvas size bei view verändern

Kevin Trometer 8 years ago
parent
commit
e47da056e8
2 changed files with 27 additions and 3 deletions
  1. 21 1
      src/ui/view/GUI.java
  2. 6 2
      src/ui/view/MyCanvas.java

+ 21 - 1
src/ui/view/GUI.java

@@ -4,6 +4,7 @@ import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Component;
 import java.awt.Cursor;
+import java.awt.Dialog;
 import java.awt.Dimension;
 import java.awt.Image;
 import java.awt.Point;
@@ -24,6 +25,7 @@ import javax.swing.ImageIcon;
 import javax.swing.JButton;
 import javax.swing.JCheckBoxMenuItem;
 import javax.swing.JComboBox;
+import javax.swing.JDialog;
 import javax.swing.JEditorPane;
 import javax.swing.JFileChooser;
 import javax.swing.JFrame;
@@ -39,6 +41,7 @@ import javax.swing.JSlider;
 import javax.swing.JSplitPane;
 import javax.swing.JTabbedPane;
 import javax.swing.JTable;
+import javax.swing.JTextField;
 import javax.swing.JToolBar;
 import javax.swing.JTree;
 import javax.swing.SwingUtilities;
@@ -76,6 +79,7 @@ public class GUI<E> implements CategoryListener {
 	private final JMenuItem mntmNew = new JMenuItem("New");
 	private final JMenuItem mntmSave = new JMenuItem("Save");
 	private final JMenuItem aboutUs = new JMenuItem("About Us");
+	private final JMenuItem canvasSize = new JMenuItem("View Size");
 	private final JSplitPane splitPane = new JSplitPane();
 	private final JSplitPane splitPane_1 = new JSplitPane();
 	private final JScrollPane scrollPane_1 = new JScrollPane();
@@ -216,7 +220,23 @@ public class GUI<E> implements CategoryListener {
 
 		menuBar.add(mnNewMenu_3);
 
+		mnNewMenu_3.add(canvasSize);
+		canvasSize.addActionListener(new ActionListener() {
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				JPanel myPanel = new JPanel();
+				JTextField field1 = new JTextField(""+canvas.getWidth()+"");
+				JTextField field2 = new JTextField(""+canvas.getHeight()+"");
+				myPanel.add(field1);
+				myPanel.add(field2);
+				JOptionPane.showMessageDialog(null, myPanel);
+		        canvas.setPreferredSize(new Dimension(Integer.parseInt(field1.getText()), Integer.parseInt(field2.getText())));
+		        canvas.repaint();
+			}
+		});
+		
 		mnNewMenu_3.add(splitPane_3);
+		
 
 		sizeSlider.setMinimum(15);
 		sizeSlider.setMaximum(115);
@@ -248,7 +268,7 @@ public class GUI<E> implements CategoryListener {
 		splitPane_2.setRightComponent(comboBoxAlgo);
 
 		canvas.setBackground(Color.WHITE);
-		canvas.setPreferredSize(new Dimension(10000, 10000));
+		canvas.setPreferredSize(new Dimension(1000, 1000));
 		JScrollPane canvasSP = new JScrollPane(canvas);
 		canvasSP.setBorder(null);
 

+ 6 - 2
src/ui/view/MyCanvas.java

@@ -1,7 +1,9 @@
 package ui.view;
 
 import java.awt.BasicStroke;
+import java.awt.BorderLayout;
 import java.awt.Color;
+import java.awt.Dimension;
 import java.awt.Graphics;
 import java.awt.Graphics2D;
 import java.awt.Image;
@@ -19,6 +21,7 @@ import java.util.Timer;
 import java.util.TimerTask;
 
 import javax.swing.ImageIcon;
+import javax.swing.JButton;
 import javax.swing.JMenuItem;
 import javax.swing.JPanel;
 import javax.swing.JPopupMenu;
@@ -56,11 +59,12 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 	private JPopupMenu popmenu = new JPopupMenu();
 	private JMenuItem itemDelete = new JMenuItem("Delete Object");
 	private JToolTip objectTT = new JToolTip();
-
+	
 	public MyCanvas(final Model model, Control control) {
 		this.add(objectTT);
 		this.controller = control;
-		this.model = model;
+		this.model = model;		
+
 		popmenu.add(itemDelete);
 		itemDelete.setEnabled(false);
 		itemDelete.addActionListener(new ActionListener() {