import javax.swing.WindowConstants; | import javax.swing.WindowConstants; | ||||
import mvcgrafik.controller.GrafikController; | import mvcgrafik.controller.GrafikController; | ||||
import mvcgrafik.model.GrafikModel; | import mvcgrafik.model.GrafikModel; | ||||
import mvcgrafik.view.GrafikMenuView; | |||||
import mvcgrafik.view.GrafikView; | import mvcgrafik.view.GrafikView; | ||||
//import mvcgrafik.ohmLogger; | //import mvcgrafik.ohmLogger; | ||||
{ | { | ||||
JFrame frm = new JFrame(); | JFrame frm = new JFrame(); | ||||
frm.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); | frm.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); | ||||
GrafikView view = new GrafikView(); | |||||
GrafikMenuView view = new GrafikMenuView(); | |||||
GrafikModel model = new GrafikModel(); | GrafikModel model = new GrafikModel(); | ||||
view.setModel(model); | |||||
view.getGrafikView1().setModel(model); | |||||
// view.setModel(model); | |||||
GrafikController controller = new GrafikController(view, model); | GrafikController controller = new GrafikController(view, model); | ||||
controller.registerEvents(); | controller.registerEvents(); | ||||
frm.setContentPane(view); | |||||
frm.setSize(800, 600); | |||||
frm.setVisible(true); | |||||
view.setSize(800, 600); | |||||
view.setVisible(true); | |||||
} | } | ||||
package mvcgrafik.controller; | package mvcgrafik.controller; | ||||
import java.awt.Point; | import java.awt.Point; | ||||
import java.awt.event.ActionEvent; | |||||
import java.awt.event.ActionListener; | |||||
import java.awt.event.KeyEvent; | import java.awt.event.KeyEvent; | ||||
import java.awt.event.KeyListener; | import java.awt.event.KeyListener; | ||||
import java.awt.event.MouseEvent; | import java.awt.event.MouseEvent; | ||||
import java.awt.event.MouseListener; | import java.awt.event.MouseListener; | ||||
import java.awt.event.MouseMotionListener; | import java.awt.event.MouseMotionListener; | ||||
import java.io.File; | |||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.io.UnsupportedEncodingException; | |||||
import java.util.logging.Level; | import java.util.logging.Level; | ||||
import java.util.logging.Logger; | import java.util.logging.Logger; | ||||
import java.util.prefs.Preferences; | |||||
import javax.swing.JFileChooser; | |||||
import mvcgrafik.model.Figure; | import mvcgrafik.model.Figure; | ||||
import mvcgrafik.model.GrafikModel; | import mvcgrafik.model.GrafikModel; | ||||
import mvcgrafik.view.GrafikView; | |||||
import mvcgrafik.view.GrafikMenuView; | |||||
import mvcgrafik.logger.OhmLogger; | |||||
/** | /** | ||||
* | * | ||||
* @author le | * @author le | ||||
*/ | */ | ||||
public class GrafikController implements MouseMotionListener, MouseListener, KeyListener | |||||
public class GrafikController implements MouseMotionListener, MouseListener, ActionListener | |||||
{ | { | ||||
private GrafikView view; | |||||
private GrafikMenuView view; | |||||
//private GrafikMenuView menuview; | |||||
private GrafikModel model; | private GrafikModel model; | ||||
private Figure figure; | private Figure figure; | ||||
private Point p_old; | private Point p_old; | ||||
private static Logger lg = OhmLogger.getLogger(); | |||||
public GrafikController(GrafikView view, GrafikModel model) | |||||
public GrafikController(GrafikMenuView view, GrafikModel model) | |||||
{ | { | ||||
this.view = view; | this.view = view; | ||||
this.model = model; | this.model = model; | ||||
{ | { | ||||
view.addMouseMotionListener(this); | view.addMouseMotionListener(this); | ||||
view.addMouseListener(this); | view.addMouseListener(this); | ||||
view.getBtnOpen().addActionListener(this); | |||||
view.getBtnSafe().addActionListener(this); | |||||
} | } | ||||
@Override | @Override | ||||
public void mouseDragged(MouseEvent evt) | public void mouseDragged(MouseEvent evt) | ||||
{ | { | ||||
if(figure == null) | |||||
{ | |||||
lg.info("new Figure"); | |||||
figure = model.addFigure(); | |||||
} | |||||
Point p = evt.getPoint(); | Point p = evt.getPoint(); | ||||
if(p_old != null){ | if(p_old != null){ | ||||
view.drawLine(p, p_old); | |||||
// view.drawLine(p, p_old); | |||||
view.getGrafikView1().drawLine(p, p_old); | |||||
} | } | ||||
p_old = p; | p_old = p; | ||||
figure.addPoint(p); | figure.addPoint(p); | ||||
@Override | @Override | ||||
public void mouseClicked(MouseEvent e) | public void mouseClicked(MouseEvent e) | ||||
{ | { | ||||
lg.info("clicked"); | |||||
figure = model.addFigure(); | figure = model.addFigure(); | ||||
} | } | ||||
@Override | @Override | ||||
public void mouseReleased(MouseEvent evt) | public void mouseReleased(MouseEvent evt) | ||||
{ | { | ||||
p_old = null; | p_old = null; | ||||
figure = null; | |||||
lg.info("Figure finished"); | |||||
if (evt.getButton() == MouseEvent.BUTTON3) | if (evt.getButton() == MouseEvent.BUTTON3) | ||||
{ | { | ||||
view.doPrint(); | |||||
// view.doPrint(); | |||||
view.getGrafikView1().doPrint(); | |||||
} | } | ||||
} | } | ||||
public void mouseExited(MouseEvent e) | public void mouseExited(MouseEvent e) | ||||
{ | { | ||||
} | } | ||||
@Override | |||||
public void keyTyped(KeyEvent e) | |||||
{ | |||||
} | |||||
@Override | @Override | ||||
public void keyPressed(KeyEvent e) | |||||
public void actionPerformed(ActionEvent ae) | |||||
{ | { | ||||
if(e.getKeyCode() == KeyEvent.VK_S) | |||||
if(ae.getSource() == view.getBtnSafe()) | |||||
{ | { | ||||
try | |||||
{ | |||||
model.speichereDatei("TEST"); | |||||
} | |||||
catch (IOException ex) | |||||
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) | |||||
{ | { | ||||
Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex); | |||||
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(e.getKeyCode() == KeyEvent.VK_O) | |||||
if(ae.getSource() == view.getBtnOpen()) | |||||
{ | { | ||||
try | |||||
{ | |||||
model.ladeDatei("TEST"); | |||||
} | |||||
catch (IOException ex) | |||||
{ | |||||
Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex); | |||||
} | |||||
catch (ClassNotFoundException ex) | |||||
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) | |||||
{ | { | ||||
Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex); | |||||
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); | |||||
} | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@Override | |||||
public void keyReleased(KeyEvent e) | |||||
{ | |||||
} | |||||
} | } | ||||
/* | |||||
* 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.logger; | |||||
import java.util.Date; | |||||
import java.util.logging.Formatter; | |||||
import java.util.logging.LogRecord; | |||||
/** | |||||
* | |||||
* @author chris | |||||
*/ | |||||
public class MyFormatter extends Formatter { | |||||
@Override | |||||
public String format(LogRecord lr) { | |||||
String date = String.format("%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp", new Date(lr.getMillis())); | |||||
String s = ("| ")+lr.getMillis()+(" | ")+date+(" | ")+lr.getLevel().toString()+(" | ")+lr.getSourceClassName()+(" | ")+lr.getMessage()+(" | ")+"\n"; | |||||
return s; | |||||
} | |||||
} |
/* | |||||
* 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.logger; | |||||
import mvcgrafik.logger.MyFormatter; | |||||
import java.io.File; | |||||
import java.io.IOException; | |||||
import java.util.logging.*; | |||||
/** | |||||
* | |||||
* @author chris, hd | |||||
*/ | |||||
public class OhmLogger | |||||
{ | |||||
public OhmLogger() | |||||
{ | |||||
} | |||||
private static Logger lg = null; | |||||
public static Logger getLogger() | |||||
{ | |||||
if (lg == null) | |||||
{ | |||||
lg = Logger.getLogger("OhmLogger"); | |||||
initLogger(); | |||||
} | |||||
return lg; | |||||
} | |||||
private static void initLogger() | |||||
{ | |||||
try{ | |||||
String datei = System.getProperty("java.io.tmpdir") + File.separator + "log.txt"; | |||||
FileHandler fh = new FileHandler(datei); | |||||
ConsoleHandler ch = new ConsoleHandler(); | |||||
lg.addHandler(fh); | |||||
ch.setFormatter(new MyFormatter()); | |||||
lg.setUseParentHandlers(false); | |||||
lg.addHandler(ch); | |||||
lg.setLevel(Level.ALL); | |||||
} | |||||
catch(IOException ioex) | |||||
{ | |||||
System.err.println(ioex); | |||||
} | |||||
} | |||||
} |
oos.writeObject(figures); | oos.writeObject(figures); | ||||
oos.flush(); | oos.flush(); | ||||
oos.close(); | oos.close(); | ||||
} | } | ||||
public void ladeDatei(String dateiname) throws FileNotFoundException, IOException, ClassNotFoundException | public void ladeDatei(String dateiname) throws FileNotFoundException, IOException, ClassNotFoundException | ||||
{ | { | ||||
FileInputStream fis = new FileInputStream(dateiname); | FileInputStream fis = new FileInputStream(dateiname); | ||||
figures = (ArrayList<Figure>) ois.readObject(); | figures = (ArrayList<Figure>) ois.readObject(); | ||||
ois.close(); | ois.close(); | ||||
} | } | ||||
} | |||||
} |
<?xml version="1.0" encoding="UTF-8" ?> | |||||
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo"> | |||||
<NonVisualComponents> | |||||
<Component class="javax.swing.JFileChooser" name="jFileChooser1"> | |||||
</Component> | |||||
<Menu class="javax.swing.JMenuBar" name="jMenuBar1"> | |||||
<SubComponents> | |||||
<Menu class="javax.swing.JMenu" name="jMenu1"> | |||||
<Properties> | |||||
<Property name="text" type="java.lang.String" value="File"/> | |||||
</Properties> | |||||
<SubComponents> | |||||
<MenuItem class="javax.swing.JMenuItem" name="btnOpen"> | |||||
<Properties> | |||||
<Property name="text" type="java.lang.String" value="Open"/> | |||||
</Properties> | |||||
<Events> | |||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnOpenActionPerformed"/> | |||||
</Events> | |||||
</MenuItem> | |||||
<MenuItem class="javax.swing.JMenuItem" name="btnSafe"> | |||||
<Properties> | |||||
<Property name="text" type="java.lang.String" value="Safe"/> | |||||
</Properties> | |||||
<Events> | |||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnSafeActionPerformed"/> | |||||
</Events> | |||||
</MenuItem> | |||||
</SubComponents> | |||||
</Menu> | |||||
<Menu class="javax.swing.JMenu" name="jMenu2"> | |||||
<Properties> | |||||
<Property name="text" type="java.lang.String" value="Edit"/> | |||||
</Properties> | |||||
</Menu> | |||||
</SubComponents> | |||||
</Menu> | |||||
</NonVisualComponents> | |||||
<Properties> | |||||
<Property name="defaultCloseOperation" type="int" value="3"/> | |||||
</Properties> | |||||
<SyntheticProperties> | |||||
<SyntheticProperty name="menuBar" type="java.lang.String" value="jMenuBar1"/> | |||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/> | |||||
<SyntheticProperty name="generateCenter" type="boolean" value="false"/> | |||||
</SyntheticProperties> | |||||
<AuxValues> | |||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> | |||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> | |||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> | |||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> | |||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> | |||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> | |||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> | |||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> | |||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> | |||||
</AuxValues> | |||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/> | |||||
<SubComponents> | |||||
<Container class="javax.swing.JPanel" name="jPanel1"> | |||||
<Constraints> | |||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription"> | |||||
<BorderConstraints direction="Center"/> | |||||
</Constraint> | |||||
</Constraints> | |||||
<Layout> | |||||
<DimensionLayout dim="0"> | |||||
<Group type="103" groupAlignment="0" attributes="0"> | |||||
<Component id="grafikView1" alignment="0" pref="400" max="32767" attributes="0"/> | |||||
</Group> | |||||
</DimensionLayout> | |||||
<DimensionLayout dim="1"> | |||||
<Group type="103" groupAlignment="0" attributes="0"> | |||||
<Component id="grafikView1" alignment="1" pref="279" max="32767" attributes="0"/> | |||||
</Group> | |||||
</DimensionLayout> | |||||
</Layout> | |||||
<SubComponents> | |||||
<Container class="mvcgrafik.view.GrafikView" name="grafikView1"> | |||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> | |||||
<Property name="useNullLayout" type="boolean" value="true"/> | |||||
</Layout> | |||||
</Container> | |||||
</SubComponents> | |||||
</Container> | |||||
</SubComponents> | |||||
</Form> |
/* | |||||
* 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.view; | |||||
/** | |||||
* | |||||
* @author hd | |||||
*/ | |||||
public class GrafikMenuView extends javax.swing.JFrame | |||||
{ | |||||
/** | |||||
* Creates new form GrafikMenuView | |||||
*/ | |||||
public GrafikMenuView() | |||||
{ | |||||
initComponents(); | |||||
} | |||||
/** | |||||
* This method is called from within the constructor to initialize the form. | |||||
* WARNING: Do NOT modify this code. The content of this method is always | |||||
* regenerated by the Form Editor. | |||||
*/ | |||||
@SuppressWarnings("unchecked") | |||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents | |||||
private void initComponents() | |||||
{ | |||||
jFileChooser1 = new javax.swing.JFileChooser(); | |||||
jPanel1 = new javax.swing.JPanel(); | |||||
grafikView1 = new mvcgrafik.view.GrafikView(); | |||||
jMenuBar1 = new javax.swing.JMenuBar(); | |||||
jMenu1 = new javax.swing.JMenu(); | |||||
btnOpen = new javax.swing.JMenuItem(); | |||||
btnSafe = new javax.swing.JMenuItem(); | |||||
jMenu2 = new javax.swing.JMenu(); | |||||
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); | |||||
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); | |||||
jPanel1.setLayout(jPanel1Layout); | |||||
jPanel1Layout.setHorizontalGroup( | |||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addComponent(grafikView1, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE) | |||||
); | |||||
jPanel1Layout.setVerticalGroup( | |||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addComponent(grafikView1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE) | |||||
); | |||||
getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER); | |||||
jMenu1.setText("File"); | |||||
btnOpen.setText("Open"); | |||||
btnOpen.addActionListener(new java.awt.event.ActionListener() | |||||
{ | |||||
public void actionPerformed(java.awt.event.ActionEvent evt) | |||||
{ | |||||
btnOpenActionPerformed(evt); | |||||
} | |||||
}); | |||||
jMenu1.add(btnOpen); | |||||
btnSafe.setText("Safe"); | |||||
btnSafe.addActionListener(new java.awt.event.ActionListener() | |||||
{ | |||||
public void actionPerformed(java.awt.event.ActionEvent evt) | |||||
{ | |||||
btnSafeActionPerformed(evt); | |||||
} | |||||
}); | |||||
jMenu1.add(btnSafe); | |||||
jMenuBar1.add(jMenu1); | |||||
jMenu2.setText("Edit"); | |||||
jMenuBar1.add(jMenu2); | |||||
setJMenuBar(jMenuBar1); | |||||
pack(); | |||||
}// </editor-fold>//GEN-END:initComponents | |||||
private void btnOpenActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnOpenActionPerformed | |||||
{//GEN-HEADEREND:event_btnOpenActionPerformed | |||||
// TODO add your handling code here: | |||||
}//GEN-LAST:event_btnOpenActionPerformed | |||||
private void btnSafeActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnSafeActionPerformed | |||||
{//GEN-HEADEREND:event_btnSafeActionPerformed | |||||
// TODO add your handling code here: | |||||
}//GEN-LAST:event_btnSafeActionPerformed | |||||
/** | |||||
* @param args the command line arguments | |||||
*/ | |||||
public static void main(String args[]) | |||||
{ | |||||
/* Set the Nimbus look and feel */ | |||||
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> | |||||
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. | |||||
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html | |||||
*/ | |||||
try | |||||
{ | |||||
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) | |||||
{ | |||||
if ("Nimbus".equals(info.getName())) | |||||
{ | |||||
javax.swing.UIManager.setLookAndFeel(info.getClassName()); | |||||
break; | |||||
} | |||||
} | |||||
} | |||||
catch (ClassNotFoundException ex) | |||||
{ | |||||
java.util.logging.Logger.getLogger(GrafikMenuView.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||||
} | |||||
catch (InstantiationException ex) | |||||
{ | |||||
java.util.logging.Logger.getLogger(GrafikMenuView.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||||
} | |||||
catch (IllegalAccessException ex) | |||||
{ | |||||
java.util.logging.Logger.getLogger(GrafikMenuView.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||||
} | |||||
catch (javax.swing.UnsupportedLookAndFeelException ex) | |||||
{ | |||||
java.util.logging.Logger.getLogger(GrafikMenuView.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||||
} | |||||
//</editor-fold> | |||||
/* Create and display the form */ | |||||
java.awt.EventQueue.invokeLater(new Runnable() | |||||
{ | |||||
public void run() | |||||
{ | |||||
new GrafikMenuView().setVisible(true); | |||||
} | |||||
}); | |||||
} | |||||
// Variables declaration - do not modify//GEN-BEGIN:variables | |||||
private javax.swing.JMenuItem btnOpen; | |||||
private javax.swing.JMenuItem btnSafe; | |||||
private mvcgrafik.view.GrafikView grafikView1; | |||||
private javax.swing.JFileChooser jFileChooser1; | |||||
private javax.swing.JMenu jMenu1; | |||||
private javax.swing.JMenu jMenu2; | |||||
private javax.swing.JMenuBar jMenuBar1; | |||||
private javax.swing.JPanel jPanel1; | |||||
// End of variables declaration//GEN-END:variables | |||||
/** | |||||
* @return the grafikView1 | |||||
*/ | |||||
public mvcgrafik.view.GrafikView getGrafikView1() | |||||
{ | |||||
return grafikView1; | |||||
} | |||||
/** | |||||
* @return the jFileChooser1 | |||||
*/ | |||||
public javax.swing.JFileChooser getjFileChooser1() | |||||
{ | |||||
return jFileChooser1; | |||||
} | |||||
/** | |||||
* @return the btnOpen | |||||
*/ | |||||
public javax.swing.JMenuItem getBtnOpen() | |||||
{ | |||||
return btnOpen; | |||||
} | |||||
/** | |||||
* @return the btnSafe | |||||
*/ | |||||
public javax.swing.JMenuItem getBtnSafe() | |||||
{ | |||||
return btnSafe; | |||||
} | |||||
} |
import javax.swing.JComponent; | import javax.swing.JComponent; | ||||
import javax.swing.JOptionPane; | import javax.swing.JOptionPane; | ||||
import mvcgrafik.model.GrafikModel; | import mvcgrafik.model.GrafikModel; | ||||
import mvcgrafik.logger.OhmLogger; | |||||
/** | /** | ||||
* | * | ||||
* @author le | |||||
* @author hd, chris | |||||
*/ | */ | ||||
public class GrafikView extends JComponent implements Printable | public class GrafikView extends JComponent implements Printable | ||||
{ | { | ||||
@Override | @Override | ||||
public void paintComponent(Graphics g) | public void paintComponent(Graphics g) | ||||
{ | { | ||||
lg.info("repaint"); | |||||
if (model == null) | if (model == null) | ||||
{ | { | ||||
lg.severe("keine Referenz auf Model vorhanden"); | lg.severe("keine Referenz auf Model vorhanden"); | ||||
Graphics2D g2 = (Graphics2D) g; | Graphics2D g2 = (Graphics2D) g; | ||||
model.getFigures().forEach(figure -> { | model.getFigures().forEach(figure -> { | ||||
old_punkt = null; | |||||
figure.getPunkte().forEach(punkt -> { | figure.getPunkte().forEach(punkt -> { | ||||
pixel.setFrame(punkt, EINS); | |||||
// pixel.setFrame(punkt, EINS); | |||||
// g2.draw(pixel); | // g2.draw(pixel); | ||||
if(old_punkt != null) | if(old_punkt != null) | ||||
{ | { | ||||
public void doPrint() | public void doPrint() | ||||
{ | { | ||||
HashPrintRequestAttributeSet printSet = | HashPrintRequestAttributeSet printSet = | ||||
new HashPrintRequestAttributeSet(); | |||||
new HashPrintRequestAttributeSet(); | |||||
printSet.add(DialogTypeSelection.NATIVE); | printSet.add(DialogTypeSelection.NATIVE); | ||||
PrinterJob pj = PrinterJob.getPrinterJob(); | PrinterJob pj = PrinterJob.getPrinterJob(); | ||||
pj.setPrintable(this); | pj.setPrintable(this); |