Print implementiert

This commit is contained in:
Jens Schuhmann 2023-12-05 09:15:57 +01:00
parent d164ff8251
commit 7ea1da3ebd
6 changed files with 132 additions and 41 deletions

View File

@ -26,7 +26,7 @@ public class Start
GrafikView view = frm.getgZeichenflaeche(); GrafikView view = frm.getgZeichenflaeche();
view.setModel(model); view.setModel(model);
GrafikController controller = new GrafikController(view, 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.registerEvents();
controller_commands.registerEvents(); controller_commands.registerEvents();
controller_commands.registerCommands(); controller_commands.registerCommands();

View File

@ -10,9 +10,11 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import mvcgrafik.controller.commands.CommandInvoker; import mvcgrafik.controller.commands.CommandInvoker;
import mvcgrafik.controller.commands.OpenCommand; import mvcgrafik.controller.commands.OpenCommand;
import mvcgrafik.controller.commands.PrintCommand;
import mvcgrafik.controller.commands.SaveCommand; import mvcgrafik.controller.commands.SaveCommand;
import mvcgrafik.model.GrafikModel; import mvcgrafik.model.GrafikModel;
import mvcgrafik.view.GrafikFrame; import mvcgrafik.view.GrafikFrame;
import mvcgrafik.view.GrafikView;
/** /**
* *
@ -20,12 +22,14 @@ import mvcgrafik.view.GrafikFrame;
*/ */
public class CommandController implements ActionListener public class CommandController implements ActionListener
{ {
private GrafikFrame view; private GrafikFrame frame;
private GrafikView view;
private GrafikModel model; private GrafikModel model;
private CommandInvoker invoker; private CommandInvoker invoker;
public CommandController(GrafikFrame view, GrafikModel model) public CommandController(GrafikFrame frame,GrafikView view, GrafikModel model)
{ {
this.frame = frame;
this.view = view; this.view = view;
this.model = model; this.model = model;
this.invoker = new CommandInvoker(); this.invoker = new CommandInvoker();
@ -33,14 +37,18 @@ public class CommandController implements ActionListener
public void registerEvents() public void registerEvents()
{ {
view.getBtnFileOpen().addActionListener(this); frame.getBtnFileOpen().addActionListener(this);
view.getBtnFileSave().addActionListener(this); frame.getBtnFileSave().addActionListener(this);
frame.getBtnPrint().addActionListener(this);
} }
public void registerCommands() public void registerCommands()
{ {
invoker.addCommand(view.getBtnFileOpen(), new OpenCommand(view, model)); invoker.addCommand(frame.getBtnFileOpen(), new OpenCommand(frame, model));
invoker.addCommand(view.getBtnFileSave(), new SaveCommand(view,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) { public void actionPerformed(ActionEvent e) {
Component key = (Component)e.getSource(); Component key = (Component)e.getSource();
invoker.executeCommand(key); invoker.executeCommand(key);
if(key == view.getBtnFileOpen()){ if(key == frame.getBtnFileOpen()){
invoker.deleteStack(); invoker.deleteStack();
} }
} }

View File

@ -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;
}
}

View File

@ -72,6 +72,17 @@
<Property name="verticalTextPosition" type="int" value="3"/> <Property name="verticalTextPosition" type="int" value="3"/>
</Properties> </Properties>
</Component> </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> </SubComponents>
</Container> </Container>
</SubComponents> </SubComponents>

View File

@ -56,39 +56,46 @@ public class GrafikFrame extends javax.swing.JFrame
* regenerated by the Form Editor. * regenerated by the Form Editor.
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() private void initComponents() {
{
FcFileChooser = new javax.swing.JFileChooser(); FcFileChooser = new javax.swing.JFileChooser();
gZeichenflaeche = new mvcgrafik.view.GrafikView(); gZeichenflaeche = new mvcgrafik.view.GrafikView();
jToolBar1 = new javax.swing.JToolBar(); jToolBar1 = new javax.swing.JToolBar();
btnFileOpen = new javax.swing.JButton(); btnFileOpen = new javax.swing.JButton();
btnFileSave = new javax.swing.JButton(); btnFileSave = new javax.swing.JButton();
btnPrint = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().add(gZeichenflaeche, java.awt.BorderLayout.CENTER); getContentPane().add(gZeichenflaeche, java.awt.BorderLayout.CENTER);
jToolBar1.setRollover(true); jToolBar1.setRollover(true);
btnFileOpen.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mvcgrafik/view/Open24.gif"))); // NOI18N btnFileOpen.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mvcgrafik/view/Open24.gif"))); // NOI18N
btnFileOpen.setToolTipText("Open File"); btnFileOpen.setToolTipText("Open File");
btnFileOpen.setFocusable(false); btnFileOpen.setFocusable(false);
btnFileOpen.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); btnFileOpen.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
btnFileOpen.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); btnFileOpen.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
jToolBar1.add(btnFileOpen); jToolBar1.add(btnFileOpen);
btnFileSave.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mvcgrafik/view/Save24.gif"))); // NOI18N btnFileSave.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mvcgrafik/view/Save24.gif"))); // NOI18N
btnFileSave.setToolTipText("Safe File"); btnFileSave.setToolTipText("Safe File");
btnFileSave.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); btnFileSave.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
btnFileSave.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); btnFileSave.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
jToolBar1.add(btnFileSave); jToolBar1.add(btnFileSave);
getContentPane().add(jToolBar1, java.awt.BorderLayout.PAGE_START); 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);
setSize(new java.awt.Dimension(540, 412)); getContentPane().add(jToolBar1, java.awt.BorderLayout.PAGE_START);
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents setSize(new java.awt.Dimension(540, 412));
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents
/** /**
* @param args the command line arguments * @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 // Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JFileChooser FcFileChooser; private javax.swing.JFileChooser FcFileChooser;
private javax.swing.JButton btnFileOpen; private javax.swing.JButton btnFileOpen;
private javax.swing.JButton btnFileSave; private javax.swing.JButton btnFileSave;
private mvcgrafik.view.GrafikView gZeichenflaeche; private javax.swing.JButton btnPrint;
private javax.swing.JToolBar jToolBar1; private mvcgrafik.view.GrafikView gZeichenflaeche;
// End of variables declaration//GEN-END:variables private javax.swing.JToolBar jToolBar1;
// End of variables declaration//GEN-END:variables
/**
* @return the btnPrint
*/
public javax.swing.JButton getBtnPrint() {
return btnPrint;
}
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B