From 4cba85021aefa4d11c276b106176f138eaf41153 Mon Sep 17 00:00:00 2001 From: BakeOrDie Date: Wed, 9 Dec 2020 10:34:15 +0100 Subject: [PATCH] Merge origin/master Conflicts: src/wuerfelthreads/Start.java src/wuerfelthreads/view/WuerfelView.form src/wuerfelthreads/view/WuerfelView.java --- src/mvcgrafik/Start.java | 8 +- src/mvcgrafik/controller/BtnController.java | 109 ++++++++++++++++++ .../controller/GrafikController.java | 84 +------------- src/mvcgrafik/view/GrafikMenuView.form | 2 + src/mvcgrafik/view/GrafikMenuView.java | 9 ++ src/mvcgrafik/view/GrafikView.java | 19 +-- 6 files changed, 143 insertions(+), 88 deletions(-) create mode 100644 src/mvcgrafik/controller/BtnController.java diff --git a/src/mvcgrafik/Start.java b/src/mvcgrafik/Start.java index 61637ce..777ff6a 100755 --- a/src/mvcgrafik/Start.java +++ b/src/mvcgrafik/Start.java @@ -7,7 +7,9 @@ package mvcgrafik; import javax.swing.JFrame; +import javax.swing.JPanel; import javax.swing.WindowConstants; +import mvcgrafik.controller.BtnController; import mvcgrafik.controller.GrafikController; import mvcgrafik.model.GrafikModel; import mvcgrafik.view.GrafikMenuView; @@ -28,9 +30,11 @@ public class Start GrafikMenuView view = new GrafikMenuView(); GrafikModel model = new GrafikModel(); view.getGrafikView1().setModel(model); -// view.setModel(model); - GrafikController controller = new GrafikController(view, model); + + GrafikController controller = new GrafikController(view.getGrafikView1(), model); + BtnController btncontroller = new BtnController(view, model); controller.registerEvents(); + btncontroller.registerEvents(); view.setSize(800, 600); view.setVisible(true); diff --git a/src/mvcgrafik/controller/BtnController.java b/src/mvcgrafik/controller/BtnController.java new file mode 100644 index 0000000..ebfc133 --- /dev/null +++ b/src/mvcgrafik/controller/BtnController.java @@ -0,0 +1,109 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +package mvcgrafik.controller; + +import java.awt.Point; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.prefs.Preferences; +import javax.swing.JFileChooser; +import mvcgrafik.model.Figure; +import mvcgrafik.model.GrafikModel; +import mvcgrafik.view.GrafikMenuView; +import mvcgrafik.logger.OhmLogger; + + +/** + * + * @author le + */ +public class BtnController implements ActionListener +{ + private GrafikMenuView view; + //private GrafikMenuView menuview; + private GrafikModel model; + private Figure figure; + private Point p_old; + private static Logger lg = OhmLogger.getLogger(); + + public BtnController(GrafikMenuView view, GrafikModel model) + { + this.view = view; + this.model = model; + } + + public void registerEvents() + { + view.getBtnOpen().addActionListener(this); + view.getBtnSafe().addActionListener(this); + } + + @Override + public void actionPerformed(ActionEvent ae) + { + if(ae.getSource() == view.getBtnSafe()) + { + Preferences pref = Preferences.userNodeForPackage(this.getClass()); + String path = pref.get("DEFAULT_PATH", ""); + view.getjFileChooser1().setCurrentDirectory(new File(path)); + + + int choice = view.getjFileChooser1().showSaveDialog(view); + if (choice == JFileChooser.APPROVE_OPTION) + { + File selectedFile = view.getjFileChooser1().getSelectedFile(); + pref.put("DEFAULT_PATH", selectedFile.getAbsolutePath()); + try + { + //model.datenSpeichern(selectedFile); + model.speichereDatei("TEST"); + } + catch (UnsupportedEncodingException ex) + { + Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex); + } + catch (IOException ex) + { + Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + if(ae.getSource() == view.getBtnOpen()) + { + Preferences pref = Preferences.userNodeForPackage(this.getClass()); + String path = pref.get("DEFAULT_PATH", ""); + view.getjFileChooser1().setCurrentDirectory(new File(path)); + + int choice = view.getjFileChooser1().showOpenDialog(view); + if (choice == JFileChooser.APPROVE_OPTION) + { + File selectedFile = view.getjFileChooser1().getSelectedFile(); + + pref.put("DEFAULT_PATH", selectedFile.getAbsolutePath()); + try + { + //model.datenLesen(selectedFile); + model.ladeDatei("TEST"); + } + catch (UnsupportedEncodingException ex) + { + Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex); + } + catch (IOException | ClassNotFoundException ex) + { + Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + } +} + diff --git a/src/mvcgrafik/controller/GrafikController.java b/src/mvcgrafik/controller/GrafikController.java index 85a6716..a7ec53f 100755 --- a/src/mvcgrafik/controller/GrafikController.java +++ b/src/mvcgrafik/controller/GrafikController.java @@ -7,40 +7,29 @@ package mvcgrafik.controller; import java.awt.Point; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; -import java.io.File; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.util.logging.Level; import java.util.logging.Logger; -import java.util.prefs.Preferences; -import javax.swing.JFileChooser; import mvcgrafik.model.Figure; import mvcgrafik.model.GrafikModel; -import mvcgrafik.view.GrafikMenuView; import mvcgrafik.logger.OhmLogger; +import mvcgrafik.view.GrafikView; /** * * @author le */ -public class GrafikController implements MouseMotionListener, MouseListener, ActionListener +public class GrafikController implements MouseMotionListener, MouseListener { - private GrafikMenuView view; - //private GrafikMenuView menuview; + private GrafikView view; private GrafikModel model; private Figure figure; private Point p_old; private static Logger lg = OhmLogger.getLogger(); - public GrafikController(GrafikMenuView view, GrafikModel model) + public GrafikController(GrafikView view, GrafikModel model) { this.view = view; this.model = model; @@ -50,8 +39,6 @@ public class GrafikController implements MouseMotionListener, MouseListener, Act { view.addMouseMotionListener(this); view.addMouseListener(this); - view.getBtnOpen().addActionListener(this); - view.getBtnSafe().addActionListener(this); } @Override @@ -65,7 +52,7 @@ public class GrafikController implements MouseMotionListener, MouseListener, Act Point p = evt.getPoint(); if(p_old != null){ // view.drawLine(p, p_old); - view.getGrafikView1().drawLine(p, p_old); + view.drawLine(p, p_old); } p_old = p; figure.addPoint(p); @@ -99,7 +86,7 @@ public class GrafikController implements MouseMotionListener, MouseListener, Act if (evt.getButton() == MouseEvent.BUTTON3) { // view.doPrint(); - view.getGrafikView1().doPrint(); + view.doPrint(); } } @@ -112,64 +99,5 @@ public class GrafikController implements MouseMotionListener, MouseListener, Act public void mouseExited(MouseEvent e) { } - - @Override - public void actionPerformed(ActionEvent ae) - { - if(ae.getSource() == view.getBtnSafe()) - { - Preferences pref = Preferences.userNodeForPackage(this.getClass()); - String path = pref.get("DEFAULT_PATH", ""); - view.getjFileChooser1().setCurrentDirectory(new File(path)); - - - int choice = view.getjFileChooser1().showSaveDialog(view); - if (choice == JFileChooser.APPROVE_OPTION) - { - File selectedFile = view.getjFileChooser1().getSelectedFile(); - pref.put("DEFAULT_PATH", selectedFile.getAbsolutePath()); - try - { - //model.datenSpeichern(selectedFile); - model.speichereDatei("TEST"); - } - catch (UnsupportedEncodingException ex) - { - Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex); - } - catch (IOException ex) - { - Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex); - } - } - } - if(ae.getSource() == view.getBtnOpen()) - { - Preferences pref = Preferences.userNodeForPackage(this.getClass()); - String path = pref.get("DEFAULT_PATH", ""); - view.getjFileChooser1().setCurrentDirectory(new File(path)); - - int choice = view.getjFileChooser1().showOpenDialog(view); - if (choice == JFileChooser.APPROVE_OPTION) - { - File selectedFile = view.getjFileChooser1().getSelectedFile(); - - pref.put("DEFAULT_PATH", selectedFile.getAbsolutePath()); - try - { - //model.datenLesen(selectedFile); - model.ladeDatei("TEST"); - } - catch (UnsupportedEncodingException ex) - { - Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex); - } - catch (IOException | ClassNotFoundException ex) - { - Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex); - } - } - } - } } diff --git a/src/mvcgrafik/view/GrafikMenuView.form b/src/mvcgrafik/view/GrafikMenuView.form index 6578519..0999e37 100644 --- a/src/mvcgrafik/view/GrafikMenuView.form +++ b/src/mvcgrafik/view/GrafikMenuView.form @@ -39,6 +39,7 @@ + @@ -55,6 +56,7 @@ + diff --git a/src/mvcgrafik/view/GrafikMenuView.java b/src/mvcgrafik/view/GrafikMenuView.java index 8e119e4..783b562 100644 --- a/src/mvcgrafik/view/GrafikMenuView.java +++ b/src/mvcgrafik/view/GrafikMenuView.java @@ -12,6 +12,14 @@ package mvcgrafik.view; public class GrafikMenuView extends javax.swing.JFrame { + /** + * @return the jPanel1 + */ + public javax.swing.JPanel getjPanel1() + { + return jPanel1; + } + /** * Creates new form GrafikMenuView */ @@ -42,6 +50,7 @@ public class GrafikMenuView extends javax.swing.JFrame jMenu2 = new javax.swing.JMenu(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + setTitle("Zeichentool"); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); diff --git a/src/mvcgrafik/view/GrafikView.java b/src/mvcgrafik/view/GrafikView.java index e31061c..bd68911 100755 --- a/src/mvcgrafik/view/GrafikView.java +++ b/src/mvcgrafik/view/GrafikView.java @@ -31,7 +31,7 @@ import mvcgrafik.logger.OhmLogger; public class GrafikView extends JComponent implements Printable { private final static Dimension EINS = new Dimension(1, 1); - private final static Logger lg = Logger.getLogger("mvcGrafik"); + private static Logger lg = OhmLogger.getLogger(); private Rectangle2D.Float pixel; private GrafikModel model; private Point old_punkt = null; @@ -51,11 +51,16 @@ public class GrafikView extends JComponent implements Printable { Graphics2D g2 = (Graphics2D) this.getGraphics(); Line2D.Double line = new Line2D.Double(p.getX(),p.getY(),p_old.getX(),p_old.getY()); -// pixel.setFrame(p, EINS); g2.draw(line); g2.dispose(); // VERY, VERY WICHTIG } - + public void drawLineG2(Point p, Point p_old, Graphics2D g2) + { + Line2D.Double line = new Line2D.Double(p.getX(),p.getY(),p_old.getX(),p_old.getY()); + g2.draw(line); + } + + @Override public void paintComponent(Graphics g) { @@ -71,11 +76,9 @@ public class GrafikView extends JComponent implements Printable model.getFigures().forEach(figure -> { old_punkt = null; figure.getPunkte().forEach(punkt -> { -// pixel.setFrame(punkt, EINS); -// g2.draw(pixel); if(old_punkt != null) { - drawLine(punkt, old_punkt); + drawLineG2(punkt, old_punkt, g2); } old_punkt = punkt; }); @@ -110,8 +113,8 @@ public class GrafikView extends JComponent implements Printable if (pageIndex == 1) { g2p.translate(pf.getImageableX(), pf.getImageableY()); - g2p.scale(pf.getImageableWidth()/pf.getWidth(), - pf.getImageableHeight() / pf.getHeight()); + g2p.scale(pf.getImageableWidth()/this.getWidth(), + pf.getImageableHeight() / this.getHeight()); super.print(g2p); return Printable.PAGE_EXISTS; }