@@ -26,7 +26,7 @@ public class Start | |||
GrafikView view = frm.getgZeichenflaeche(); | |||
view.setModel(model); | |||
GrafikController controller = new GrafikController(view, model); | |||
CommandController controller_commands = new CommandController(frm, model); | |||
CommandController controller_commands = new CommandController(frm,view, model); | |||
controller.registerEvents(); | |||
controller_commands.registerEvents(); | |||
controller_commands.registerCommands(); |
@@ -10,9 +10,11 @@ import java.awt.event.ActionEvent; | |||
import java.awt.event.ActionListener; | |||
import mvcgrafik.controller.commands.CommandInvoker; | |||
import mvcgrafik.controller.commands.OpenCommand; | |||
import mvcgrafik.controller.commands.PrintCommand; | |||
import mvcgrafik.controller.commands.SaveCommand; | |||
import mvcgrafik.model.GrafikModel; | |||
import mvcgrafik.view.GrafikFrame; | |||
import mvcgrafik.view.GrafikView; | |||
/** | |||
* | |||
@@ -20,12 +22,14 @@ import mvcgrafik.view.GrafikFrame; | |||
*/ | |||
public class CommandController implements ActionListener | |||
{ | |||
private GrafikFrame view; | |||
private GrafikFrame frame; | |||
private GrafikView view; | |||
private GrafikModel model; | |||
private CommandInvoker invoker; | |||
public CommandController(GrafikFrame view, GrafikModel model) | |||
public CommandController(GrafikFrame frame,GrafikView view, GrafikModel model) | |||
{ | |||
this.frame = frame; | |||
this.view = view; | |||
this.model = model; | |||
this.invoker = new CommandInvoker(); | |||
@@ -33,14 +37,18 @@ public class CommandController implements ActionListener | |||
public void registerEvents() | |||
{ | |||
view.getBtnFileOpen().addActionListener(this); | |||
view.getBtnFileSave().addActionListener(this); | |||
frame.getBtnFileOpen().addActionListener(this); | |||
frame.getBtnFileSave().addActionListener(this); | |||
frame.getBtnPrint().addActionListener(this); | |||
} | |||
public void registerCommands() | |||
{ | |||
invoker.addCommand(view.getBtnFileOpen(), new OpenCommand(view, model)); | |||
invoker.addCommand(view.getBtnFileSave(), new SaveCommand(view,model)); | |||
invoker.addCommand(frame.getBtnFileOpen(), new OpenCommand(frame, model)); | |||
invoker.addCommand(frame.getBtnFileSave(), new SaveCommand(frame,model)); | |||
invoker.addCommand(frame.getBtnPrint(), new PrintCommand(view,model)); | |||
} | |||
/** | |||
@@ -51,7 +59,7 @@ public class CommandController implements ActionListener | |||
public void actionPerformed(ActionEvent e) { | |||
Component key = (Component)e.getSource(); | |||
invoker.executeCommand(key); | |||
if(key == view.getBtnFileOpen()){ | |||
if(key == frame.getBtnFileOpen()){ | |||
invoker.deleteStack(); | |||
} | |||
} |
@@ -0,0 +1,57 @@ | |||
/* | |||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license | |||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template | |||
*/ | |||
package mvcgrafik.controller.commands; | |||
import java.io.File; | |||
import java.io.FileNotFoundException; | |||
import java.io.IOException; | |||
import java.util.logging.Level; | |||
import java.util.logging.Logger; | |||
import javax.swing.JFileChooser; | |||
import mvcgrafik.model.GrafikModel; | |||
import mvcgrafik.view.GrafikFrame; | |||
import mvcgrafik.view.GrafikView; | |||
/** | |||
* | |||
* @author ahren | |||
*/ | |||
public class PrintCommand implements CommandInterface | |||
{ | |||
private GrafikView view; | |||
private GrafikModel model; | |||
public PrintCommand(GrafikView view, GrafikModel model){ | |||
this.view = view; | |||
this.model = model; | |||
} | |||
/** | |||
* Aufrufen des File Choosers in zuletzt verwendeten Ordner, versuchen die | |||
* Tabellendatei zu speichern | |||
*/ | |||
@Override | |||
public void execute() { | |||
this.view.doPrint(); | |||
} | |||
@Override | |||
public void undo() { | |||
throw new UnsupportedOperationException("Not undoable."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody | |||
} | |||
@Override | |||
public void redo() { | |||
throw new UnsupportedOperationException("Not redoable."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody | |||
} | |||
@Override | |||
public boolean isUndoable() { | |||
return false; | |||
} | |||
} |
@@ -72,6 +72,17 @@ | |||
<Property name="verticalTextPosition" type="int" value="3"/> | |||
</Properties> | |||
</Component> | |||
<Component class="javax.swing.JButton" name="btnPrint"> | |||
<Properties> | |||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> | |||
<Image iconType="3" name="/mvcgrafik/view/Print24.gif"/> | |||
</Property> | |||
<Property name="toolTipText" type="java.lang.String" value="Print File"/> | |||
<Property name="focusable" type="boolean" value="false"/> | |||
<Property name="horizontalTextPosition" type="int" value="0"/> | |||
<Property name="verticalTextPosition" type="int" value="3"/> | |||
</Properties> | |||
</Component> | |||
</SubComponents> | |||
</Container> | |||
</SubComponents> |
@@ -56,39 +56,46 @@ public class GrafikFrame extends javax.swing.JFrame | |||
* regenerated by the Form Editor. | |||
*/ | |||
@SuppressWarnings("unchecked") | |||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents | |||
private void initComponents() | |||
{ | |||
FcFileChooser = new javax.swing.JFileChooser(); | |||
gZeichenflaeche = new mvcgrafik.view.GrafikView(); | |||
jToolBar1 = new javax.swing.JToolBar(); | |||
btnFileOpen = new javax.swing.JButton(); | |||
btnFileSave = new javax.swing.JButton(); | |||
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); | |||
getContentPane().add(gZeichenflaeche, java.awt.BorderLayout.CENTER); | |||
jToolBar1.setRollover(true); | |||
btnFileOpen.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mvcgrafik/view/Open24.gif"))); // NOI18N | |||
btnFileOpen.setToolTipText("Open File"); | |||
btnFileOpen.setFocusable(false); | |||
btnFileOpen.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); | |||
btnFileOpen.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); | |||
jToolBar1.add(btnFileOpen); | |||
btnFileSave.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mvcgrafik/view/Save24.gif"))); // NOI18N | |||
btnFileSave.setToolTipText("Safe File"); | |||
btnFileSave.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); | |||
btnFileSave.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); | |||
jToolBar1.add(btnFileSave); | |||
getContentPane().add(jToolBar1, java.awt.BorderLayout.PAGE_START); | |||
setSize(new java.awt.Dimension(540, 412)); | |||
setLocationRelativeTo(null); | |||
}// </editor-fold>//GEN-END:initComponents | |||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents | |||
private void initComponents() { | |||
FcFileChooser = new javax.swing.JFileChooser(); | |||
gZeichenflaeche = new mvcgrafik.view.GrafikView(); | |||
jToolBar1 = new javax.swing.JToolBar(); | |||
btnFileOpen = new javax.swing.JButton(); | |||
btnFileSave = new javax.swing.JButton(); | |||
btnPrint = new javax.swing.JButton(); | |||
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); | |||
getContentPane().add(gZeichenflaeche, java.awt.BorderLayout.CENTER); | |||
jToolBar1.setRollover(true); | |||
btnFileOpen.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mvcgrafik/view/Open24.gif"))); // NOI18N | |||
btnFileOpen.setToolTipText("Open File"); | |||
btnFileOpen.setFocusable(false); | |||
btnFileOpen.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); | |||
btnFileOpen.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); | |||
jToolBar1.add(btnFileOpen); | |||
btnFileSave.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mvcgrafik/view/Save24.gif"))); // NOI18N | |||
btnFileSave.setToolTipText("Safe File"); | |||
btnFileSave.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); | |||
btnFileSave.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); | |||
jToolBar1.add(btnFileSave); | |||
btnPrint.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mvcgrafik/view/Print24.gif"))); // NOI18N | |||
btnPrint.setToolTipText("Print File"); | |||
btnPrint.setFocusable(false); | |||
btnPrint.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); | |||
btnPrint.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); | |||
jToolBar1.add(btnPrint); | |||
getContentPane().add(jToolBar1, java.awt.BorderLayout.PAGE_START); | |||
setSize(new java.awt.Dimension(540, 412)); | |||
setLocationRelativeTo(null); | |||
}// </editor-fold>//GEN-END:initComponents | |||
/** | |||
* @param args the command line arguments | |||
@@ -139,11 +146,19 @@ public class GrafikFrame extends javax.swing.JFrame | |||
}); | |||
} | |||
// Variables declaration - do not modify//GEN-BEGIN:variables | |||
private javax.swing.JFileChooser FcFileChooser; | |||
private javax.swing.JButton btnFileOpen; | |||
private javax.swing.JButton btnFileSave; | |||
private mvcgrafik.view.GrafikView gZeichenflaeche; | |||
private javax.swing.JToolBar jToolBar1; | |||
// End of variables declaration//GEN-END:variables | |||
// Variables declaration - do not modify//GEN-BEGIN:variables | |||
private javax.swing.JFileChooser FcFileChooser; | |||
private javax.swing.JButton btnFileOpen; | |||
private javax.swing.JButton btnFileSave; | |||
private javax.swing.JButton btnPrint; | |||
private mvcgrafik.view.GrafikView gZeichenflaeche; | |||
private javax.swing.JToolBar jToolBar1; | |||
// End of variables declaration//GEN-END:variables | |||
/** | |||
* @return the btnPrint | |||
*/ | |||
public javax.swing.JButton getBtnPrint() { | |||
return btnPrint; | |||
} | |||
} |