/* | |||||
* 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 autogui; | |||||
import commands.CommandInvoker; | |||||
import controller.C_MenuListener; | |||||
import controller.C_MenuListener_undo; | |||||
import java.util.prefs.Preferences; | |||||
import javax.swing.UIManager; | |||||
import model.model; | |||||
import view.gui; | |||||
/** | |||||
* AutoGUI | |||||
* enthält alle wichtigen Parameter wie View, Model, CommandInvoker, Controller | |||||
* @author matthias | |||||
*/ | |||||
public class AutoGUI { | |||||
/** | |||||
* @param args the command line arguments | |||||
*/ | |||||
private gui frm; | |||||
//C_FileDialogOpen cfdo; | |||||
//C_SaveFile csf; | |||||
private Preferences prf; | |||||
private final String PathID = "LastUsedPath"; | |||||
private final String FILE_ID = "LastUsedFile"; | |||||
private C_MenuListener cml; | |||||
private C_MenuListener_undo cmlu; | |||||
private model mdl; | |||||
private CommandInvoker invoker; | |||||
/** | |||||
* Konstruktor initialisiert alle Parameter und registriert die Events und Commands | |||||
*/ | |||||
public AutoGUI() | |||||
{ | |||||
this.prf = Preferences.userRoot().node(this.getClass().getName()); | |||||
//String test = this.prf.get(this.PathID, "abc"); // Leerer String falls get leer. | |||||
this.frm = new gui(); | |||||
this.frm.setVisible(true); | |||||
String lastPath = "Last used path: " + this.prf.get(this.PathID, "/"); | |||||
this.frm.getLblFilePath().setText(lastPath); | |||||
this.mdl = new model(); | |||||
this.invoker = new CommandInvoker(); | |||||
this.cml = new C_MenuListener(this.frm, this.PathID, this.FILE_ID, this.prf, this.mdl, this.invoker); | |||||
this.cml.registerEvents(); | |||||
this.cml.registerCommands(); /**INVOKER einfügen!!!!*/ | |||||
this.cmlu = new C_MenuListener_undo(this.frm, this.PathID, this.FILE_ID, this.prf, this.mdl, this.invoker); | |||||
this.cmlu.registerEvents(); | |||||
} | |||||
/** | |||||
* Main erstellt AutoGUI und setzt LookAndFeel | |||||
* @param args (String[]) | |||||
*/ | |||||
public static void main(String[] args) { | |||||
// TODO code application logic here | |||||
new AutoGUI(); | |||||
try | |||||
{ | |||||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); | |||||
} | |||||
catch(Exception ex){} | |||||
} | |||||
} |
/* | |||||
* 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 commands; | |||||
import java.io.File; | |||||
import java.util.prefs.Preferences; | |||||
import model.model; | |||||
import view.gui; | |||||
/** | |||||
* Add Command | |||||
* @author matthias | |||||
*/ | |||||
public class CommandAdd implements CommandInterface { | |||||
private File data; | |||||
private gui g; | |||||
private model mdl; | |||||
private Preferences prfs; | |||||
private String pid; | |||||
public CommandAdd(gui G, Preferences p, model mdl, String pid) | |||||
{ | |||||
this.g = G; | |||||
this.mdl = mdl; | |||||
this.prfs = p; | |||||
this.pid = pid; | |||||
this.data = null; | |||||
} | |||||
/** | |||||
* overrides execute vom CommandInterface | |||||
* hier wird eintragHinzufügen vom Model aufgerufen | |||||
*/ | |||||
@Override | |||||
public void execute() { | |||||
try | |||||
{ | |||||
this.mdl.eintragHinzufuegen(); | |||||
} | |||||
catch(Exception ex) | |||||
{ | |||||
System.err.println(ex); | |||||
} | |||||
//System.out.println(this.pref.get(PATH_ID, "xyz")); | |||||
} | |||||
@Override | |||||
public void undo() { | |||||
} | |||||
} |
/* | |||||
* 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 commands; | |||||
import java.io.File; | |||||
import java.util.Stack; | |||||
import java.util.prefs.Preferences; | |||||
import model.model; | |||||
import view.gui; | |||||
/** | |||||
* Delete Command | |||||
* @author matthias | |||||
*/ | |||||
public class CommandDelete implements CommandInterface { | |||||
private File data; | |||||
private gui g; | |||||
private model mdl; | |||||
private Preferences prfs; | |||||
private String pid; | |||||
private Stack adressEintraegeDaten; | |||||
private Stack pos; | |||||
public CommandDelete(gui G, Preferences p, model mdl, String pid) | |||||
{ | |||||
this.g = G; | |||||
this.mdl = mdl; | |||||
this.prfs = p; | |||||
this.pid = pid; | |||||
this.data = null; | |||||
adressEintraegeDaten = new Stack(); | |||||
this.pos = new Stack(); | |||||
} | |||||
/** | |||||
* overrides execute vom CommandInterface | |||||
* hier wird eeintragLoeschen vom Model aufgerufen | |||||
* davor werden die gelöschten Daten im Stack gespeichert | |||||
*/ | |||||
@Override | |||||
@SuppressWarnings("unchecked") | |||||
public void execute() { | |||||
try | |||||
{ | |||||
int sel = this.g.getContentTable1().getjTable().getSelectedRow(); | |||||
for(int i = 0; i < mdl.getColumnCount(); i++) | |||||
{ | |||||
Object v = mdl.getValueAt(sel, i); | |||||
this.adressEintraegeDaten.push(v); | |||||
} | |||||
this.pos.push(sel); | |||||
this.mdl.eintragLoeschen(sel); | |||||
} | |||||
catch(Exception ex) | |||||
{ | |||||
System.err.println(ex); | |||||
} | |||||
//System.out.println(this.pref.get(PATH_ID, "xyz")); | |||||
} | |||||
/** | |||||
* overrides undo vom CommandInterface | |||||
* hier werden die gelöschten Daten wieder ins Modell geschrieben | |||||
*/ | |||||
@Override | |||||
public void undo() { | |||||
System.out.println("del_undo"); | |||||
int pos_i = (int) this.pos.pop(); | |||||
this.mdl.eintragHinzufuegenAt(pos_i); | |||||
for(int i = mdl.getColumnCount()-1; i >= 0; i--) | |||||
{ | |||||
this.mdl.setValueAt(this.adressEintraegeDaten.pop(), pos_i, i); | |||||
} | |||||
this.mdl.fireTableDataChanged(); | |||||
} | |||||
} |
/* | |||||
* 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 commands; | |||||
/** | |||||
* CommandInterface | |||||
* Interface for commands | |||||
* @author matthias | |||||
*/ | |||||
public interface CommandInterface { | |||||
public void execute(); | |||||
public void undo(); | |||||
//public void redo | |||||
} |
/* | |||||
* 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 commands; | |||||
import java.awt.Component; | |||||
import java.util.HashMap; | |||||
import java.util.Stack; | |||||
/** | |||||
* Command Invoker | |||||
* ordnet den verschiedenen Events die Kommandos zu | |||||
* speichert die letzten Kommandos im Stack | |||||
* @author matthias | |||||
*/ | |||||
public class CommandInvoker { | |||||
private HashMap<Component, CommandInterface> commands; | |||||
private Stack<CommandInterface> undoStack; | |||||
public CommandInvoker() | |||||
{ | |||||
this.commands = new HashMap<>(); | |||||
this.undoStack = new Stack<>(); | |||||
} | |||||
public void addCommand(Component key, CommandInterface val) | |||||
{ | |||||
this.commands.put(key, val); | |||||
} | |||||
/** | |||||
* führt das zugehörige Kommand zum Key(Object) aus | |||||
* @param key (Objekt) | |||||
*/ | |||||
public void executeCommand(Component key) | |||||
{ | |||||
this.commands.get(key).execute(); | |||||
this.undoStack.push(this.commands.get(key)); | |||||
} | |||||
/** | |||||
* führt das zugehörige undo vom letzten Kommand aus | |||||
*/ | |||||
public void undoCommand() | |||||
{ | |||||
if (!this.undoStack.isEmpty()) | |||||
{ | |||||
this.undoStack.pop().undo(); | |||||
} | |||||
} | |||||
} |
/* | |||||
* 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 commands; | |||||
import java.io.File; | |||||
import java.util.prefs.Preferences; | |||||
import javax.swing.JFileChooser; | |||||
import model.model; | |||||
import view.gui; | |||||
/** | |||||
* Open Command | |||||
* @author matthias | |||||
*/ | |||||
public class CommandOpen implements CommandInterface { | |||||
private File data; | |||||
private gui g; | |||||
private Preferences pref; | |||||
private String PATH_ID; | |||||
private String FILE_ID; | |||||
private model mdl; | |||||
public CommandOpen(gui G, Preferences p, String pid, String fid, model m) | |||||
{ | |||||
this.g = G; | |||||
this.pref = p; | |||||
this.PATH_ID = pid; | |||||
this.FILE_ID = fid; | |||||
this.data = null; | |||||
this.mdl = m; | |||||
} | |||||
/** | |||||
* overrides execute vom CommandInterface | |||||
* Öffnet den File Dialog und führt dann die Funktion datenLesen aus dem Modell aus | |||||
*/ | |||||
@Override | |||||
public void execute() { | |||||
System.out.println("opening a file..."); | |||||
//System.out.println(this.pref.get(PATH_ID, "xyz")); | |||||
JFileChooser fc = this.g.getFileChooser(); | |||||
try | |||||
{ | |||||
fc.setCurrentDirectory(new File(this.pref.get(PATH_ID, ""))); | |||||
} | |||||
catch(Exception ex) | |||||
{ | |||||
System.err.println(ex); | |||||
} | |||||
if(fc.showOpenDialog(g) == JFileChooser.APPROVE_OPTION) | |||||
{ | |||||
this.data = fc.getSelectedFile(); | |||||
this.g.getLblFilePath().setText(this.data.getAbsolutePath()); | |||||
this.pref.put(this.PATH_ID, this.data.getAbsolutePath()); | |||||
//System.out.println(this.pref.get(PATH_ID, "xyz")); | |||||
try | |||||
{ | |||||
this.mdl.datenLesen(this.data); | |||||
} | |||||
catch(Exception ex) | |||||
{ | |||||
System.err.println(ex); | |||||
} | |||||
} | |||||
} | |||||
@Override | |||||
public void undo() { | |||||
} | |||||
} |
/* | |||||
* 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 commands; | |||||
import java.io.File; | |||||
import java.util.prefs.Preferences; | |||||
import javax.swing.JFileChooser; | |||||
import model.model; | |||||
import view.gui; | |||||
/** | |||||
* Save Command | |||||
* @author matthias | |||||
*/ | |||||
public class CommandSave implements CommandInterface { | |||||
private File data; | |||||
private gui g; | |||||
private model mdl; | |||||
private Preferences prfs; | |||||
private String pid; | |||||
public CommandSave(gui G, Preferences p, model mdl, String pid) | |||||
{ | |||||
this.g = G; | |||||
this.mdl = mdl; | |||||
this.prfs = p; | |||||
this.pid = pid; | |||||
this.data = null; | |||||
} | |||||
/** | |||||
* overrides execute vom CommandInterface | |||||
* Öffnet den File Dialog und führt dann die Funtkion DatenSpeichern aus dem Modell aus | |||||
*/ | |||||
@Override | |||||
public void execute() { | |||||
System.out.println("save..."); | |||||
JFileChooser fc = this.g.getFileChooser(); | |||||
try | |||||
{ | |||||
fc.setCurrentDirectory(new File(this.prfs.get(this.pid, ""))); | |||||
} | |||||
catch(Exception ex) | |||||
{ | |||||
System.err.println(ex); | |||||
} | |||||
if(fc.showSaveDialog(g) == JFileChooser.APPROVE_OPTION) | |||||
{ | |||||
this.data = fc.getSelectedFile(); | |||||
this.g.getLblFilePath().setText(this.data.getAbsolutePath()); | |||||
this.prfs.put(this.pid, this.data.getAbsolutePath()); | |||||
try | |||||
{ | |||||
this.mdl.datenSpeichern(this.data); | |||||
} | |||||
catch(Exception ex) | |||||
{ | |||||
System.err.println(ex); | |||||
} | |||||
//System.out.println(this.pref.get(PATH_ID, "xyz")); | |||||
} | |||||
} | |||||
@Override | |||||
public void undo() { | |||||
} | |||||
} |
/* ALT | |||||
* 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 controller; | |||||
import java.awt.event.ActionEvent; | |||||
import java.awt.event.ActionListener; | |||||
import java.io.File; | |||||
import java.util.prefs.Preferences; | |||||
import javax.swing.JFileChooser; | |||||
import view.gui; | |||||
/** | |||||
* | |||||
* @author endresma66479 | |||||
* | |||||
public class C_FileDialogOpen implements ActionListener | |||||
{ | |||||
gui frm; | |||||
File data; | |||||
String PATH_ID; | |||||
Preferences pref; | |||||
public C_FileDialogOpen(gui g, String ID, Preferences p) | |||||
{ | |||||
this.frm = g; | |||||
this.data = null; | |||||
this.PATH_ID = ID; | |||||
this.pref = p; | |||||
} | |||||
public void registerEvents() | |||||
{ | |||||
this.frm.getBtnOpen().addActionListener(this); | |||||
this.frm.getMiOpen().addActionListener(this); | |||||
this.frm.getMiOpen_popup().addActionListener(this); | |||||
} | |||||
@Override | |||||
public void actionPerformed(ActionEvent ae) | |||||
{ | |||||
System.out.println("opening a file..."); | |||||
System.out.println(this.pref.get(PATH_ID, "xyz")); | |||||
JFileChooser fc = this.frm.getFileChooser(); | |||||
if(fc.showOpenDialog(frm) == JFileChooser.APPROVE_OPTION) | |||||
{ | |||||
this.data = fc.getSelectedFile(); | |||||
this.frm.getLblFilePath().setText(this.data.getAbsolutePath()); | |||||
this.pref.put(this.PATH_ID, this.data.getAbsolutePath()); | |||||
System.out.println(this.pref.get(PATH_ID, "xyz")); | |||||
} | |||||
} | |||||
} | |||||
*/ |
/* | |||||
* 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 controller; | |||||
import commands.CommandAdd; | |||||
import commands.CommandDelete; | |||||
import commands.CommandInvoker; | |||||
import commands.CommandOpen; | |||||
import commands.CommandSave; | |||||
import java.awt.Component; | |||||
import java.awt.event.ActionEvent; | |||||
import java.awt.event.ActionListener; | |||||
import java.util.prefs.Preferences; | |||||
import model.model; | |||||
import view.gui; | |||||
/** | |||||
* Command Controller execute | |||||
* @author matthias | |||||
*/ | |||||
public class C_MenuListener implements ActionListener{ | |||||
private gui view; | |||||
private CommandInvoker invoker; | |||||
private String PathID; | |||||
private String FildID; | |||||
private Preferences prfs; | |||||
private model mdl; | |||||
public C_MenuListener(gui g, String pid, String fid, Preferences p, model m, CommandInvoker inv) | |||||
{ | |||||
this.view = g; | |||||
this.invoker = inv; | |||||
this.PathID = pid; | |||||
this.FildID = fid; | |||||
this.prfs = p; | |||||
this.mdl = m; | |||||
this.view.getContentTable1().getjTable().setModel(this.mdl); | |||||
} | |||||
/** | |||||
* regestriert alle Events mit dem Command Controller als Listener | |||||
*/ | |||||
public void registerEvents() | |||||
{ | |||||
this.view.getBtnSave().addActionListener(this); | |||||
this.view.getMiSave().addActionListener(this); | |||||
this.view.getMiSave_popup().addActionListener(this); | |||||
this.view.getBtnOpen().addActionListener(this); | |||||
this.view.getMiOpen().addActionListener(this); | |||||
this.view.getMiOpen_popup().addActionListener(this); | |||||
this.view.getContentTable1().getBtnAdd().addActionListener(this); | |||||
this.view.getContentTable1().getBtnDel().addActionListener(this); | |||||
this.view.getContentTable1().getCtmiAdd_popup().addActionListener(this); | |||||
this.view.getContentTable1().getCtmiDelRow_popup().addActionListener(this); | |||||
} | |||||
/** | |||||
* fügt alle Commands mit zugehörigem Event dem Invoker zu | |||||
*/ | |||||
public void registerCommands() | |||||
{ | |||||
this.invoker.addCommand(this.view.getBtnSave(), new CommandSave(this.view, this.prfs, this.mdl, this.PathID)); | |||||
this.invoker.addCommand(this.view.getMiSave(), new CommandSave(this.view,this.prfs, this.mdl, this.PathID)); | |||||
this.invoker.addCommand(this.view.getMiSave_popup(), new CommandSave(this.view, this.prfs, this.mdl, this.PathID)); | |||||
this.invoker.addCommand(this.view.getBtnOpen(), new CommandOpen(this.view, this.prfs,this.PathID, this.FildID, this.mdl)); | |||||
this.invoker.addCommand(this.view.getMiOpen(), new CommandOpen(this.view, this.prfs,this.PathID, this.FildID, this.mdl)); | |||||
this.invoker.addCommand(this.view.getMiOpen_popup(), new CommandOpen(this.view, this.prfs,this.PathID, this.FildID, this.mdl)); | |||||
this.invoker.addCommand(this.view.getContentTable1().getBtnAdd(), new CommandAdd(this.view, this.prfs, this.mdl, this.PathID)); | |||||
this.invoker.addCommand(this.view.getContentTable1().getCtmiAdd_popup(), new CommandAdd(this.view, this.prfs, this.mdl, this.PathID)); | |||||
this.invoker.addCommand(this.view.getContentTable1().getCtmiDelRow_popup(), new CommandDelete(this.view, this.prfs, this.mdl, this.PathID)); | |||||
this.invoker.addCommand(this.view.getContentTable1().getBtnDel(), new CommandDelete(this.view, this.prfs, this.mdl, this.PathID)); | |||||
} | |||||
/** | |||||
* ausführen vom executeCommand aus dem Invoker | |||||
* @param ae (AktionEvent) | |||||
*/ | |||||
@Override | |||||
public void actionPerformed(ActionEvent ae) { | |||||
Component key = (Component) ae.getSource(); | |||||
this.invoker.executeCommand(key); | |||||
} | |||||
} |
/* | |||||
* 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 controller; | |||||
import commands.CommandInvoker; | |||||
import java.awt.event.ActionEvent; | |||||
import java.awt.event.ActionListener; | |||||
import java.util.prefs.Preferences; | |||||
import model.model; | |||||
import view.gui; | |||||
/** | |||||
* Command Controller undo | |||||
* @author matthias | |||||
*/ | |||||
public class C_MenuListener_undo implements ActionListener{ | |||||
private gui view; | |||||
private CommandInvoker invoker; | |||||
private String PathID; | |||||
private String FildID; | |||||
private Preferences prfs; | |||||
private model mdl; | |||||
public C_MenuListener_undo(gui g, String pid, String fid, Preferences p, model m, CommandInvoker inv) | |||||
{ | |||||
this.view = g; | |||||
this.invoker = inv; | |||||
this.PathID = pid; | |||||
this.FildID = fid; | |||||
this.prfs = p; | |||||
this.mdl = m; | |||||
this.view.getContentTable1().getjTable().setModel(this.mdl); | |||||
} | |||||
/** | |||||
* registriert undo event | |||||
*/ | |||||
public void registerEvents() | |||||
{ | |||||
this.view.getBtnUndo().addActionListener(this); | |||||
} | |||||
public void registerCommands() | |||||
{ | |||||
//this.invoker.addCommand(this.view.getBtnUndo(), ); | |||||
} | |||||
/** | |||||
* führt undoCommand vom Invoker aus | |||||
* @param ae (AktionEvent) | |||||
*/ | |||||
@Override | |||||
public void actionPerformed(ActionEvent ae) { | |||||
this.invoker.undoCommand(); | |||||
} | |||||
} |
/* ALT | |||||
* 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 controller; | |||||
import java.awt.event.ActionEvent; | |||||
import java.awt.event.ActionListener; | |||||
import view.ContentTable; | |||||
import view.gui; | |||||
/** | |||||
* | |||||
* @author endresma66479 | |||||
* | |||||
public class C_SaveFile implements ActionListener | |||||
{ | |||||
gui frm; | |||||
public C_SaveFile(gui g) | |||||
{ | |||||
this.frm = g; | |||||
} | |||||
public void registerEvents() | |||||
{ | |||||
this.frm.getBtnSave().addActionListener(this); | |||||
this.frm.getMiSave().addActionListener(this); | |||||
this.frm.getMiSave_popup().addActionListener(this); | |||||
ContentTable ct = this.frm.getContentTable1(); | |||||
} | |||||
@Override | |||||
public void actionPerformed(ActionEvent ae) | |||||
{ | |||||
System.out.println("save..."); | |||||
} | |||||
} | |||||
*/ |
/* | |||||
* 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 model; | |||||
import java.io.BufferedInputStream; | |||||
import java.io.BufferedOutputStream; | |||||
import java.io.File; | |||||
import java.io.FileInputStream; | |||||
import java.io.FileNotFoundException; | |||||
import java.io.FileOutputStream; | |||||
import java.io.IOException; | |||||
import java.io.ObjectInputStream; | |||||
import java.io.ObjectOutputStream; | |||||
import java.util.ArrayList; | |||||
import javax.swing.table.AbstractTableModel; | |||||
public class model extends AbstractTableModel | |||||
{ | |||||
private ArrayList<ArrayList<String>> daten; | |||||
private ArrayList<String> adressEintraegeDaten; | |||||
private ArrayList<String> adressEintraegeNamen; | |||||
public model() | |||||
{ | |||||
adressEintraegeDaten = new ArrayList<>(); | |||||
adressEintraegeNamen = new ArrayList<>(); | |||||
daten = new ArrayList<>(); | |||||
adressEintraegeNamen.add("Name"); | |||||
adressEintraegeDaten.add("Lehner"); | |||||
adressEintraegeNamen.add("Telefon"); | |||||
adressEintraegeDaten.add("122345"); | |||||
daten.add(adressEintraegeDaten); | |||||
} | |||||
@Override | |||||
public int getRowCount() | |||||
{ | |||||
return daten.size(); | |||||
} | |||||
@Override | |||||
public int getColumnCount() | |||||
{ | |||||
return adressEintraegeDaten.size(); | |||||
} | |||||
@Override | |||||
public Object getValueAt(int row, int col) | |||||
{ | |||||
return daten.get(row).get(col); | |||||
} | |||||
@Override | |||||
public void setValueAt(Object value, int row, int col) | |||||
{ | |||||
daten.get(row).set(col, (String)value); | |||||
} | |||||
@Override | |||||
public boolean isCellEditable(int row, int col) | |||||
{ | |||||
return true; | |||||
} | |||||
@Override | |||||
public String getColumnName(int col) | |||||
{ | |||||
return adressEintraegeNamen.get(col); | |||||
} | |||||
public void eintragHinzufuegen() | |||||
{ | |||||
adressEintraegeDaten = new ArrayList<>(); | |||||
adressEintraegeNamen.forEach(s -> adressEintraegeDaten.add(s)); | |||||
daten.add(adressEintraegeDaten); | |||||
this.fireTableDataChanged(); | |||||
} | |||||
public void eintragHinzufuegenAt(int pos) | |||||
{ | |||||
adressEintraegeDaten = new ArrayList<>(); | |||||
adressEintraegeNamen.forEach(s -> adressEintraegeDaten.add(s)); | |||||
daten.add(pos, adressEintraegeDaten); | |||||
this.fireTableDataChanged(); | |||||
} | |||||
public void eintragLoeschen(int row) | |||||
{ | |||||
daten.remove(row); | |||||
this.fireTableDataChanged(); | |||||
} | |||||
public void spalteHinzufuegen(String name) | |||||
{ | |||||
adressEintraegeNamen.add(name); | |||||
} | |||||
public void datenSpeichern(File datei) throws FileNotFoundException, IOException | |||||
{ | |||||
FileOutputStream fos = new FileOutputStream(datei); | |||||
BufferedOutputStream bos = new BufferedOutputStream(fos); | |||||
ObjectOutputStream oos = new ObjectOutputStream(bos); | |||||
oos.writeObject(daten); | |||||
oos.writeObject(adressEintraegeNamen); | |||||
oos.flush(); | |||||
oos.close(); | |||||
} | |||||
public void datenLesen(File datei) throws FileNotFoundException, IOException, ClassNotFoundException | |||||
{ | |||||
FileInputStream fis = new FileInputStream(datei); | |||||
BufferedInputStream bis = new BufferedInputStream(fis); | |||||
ObjectInputStream ois = new ObjectInputStream(bis); | |||||
daten = (ArrayList<ArrayList<String>>)ois.readObject(); | |||||
adressEintraegeNamen = (ArrayList<String>)ois.readObject(); | |||||
adressEintraegeDaten = daten.get(daten.size()-1); | |||||
ois.close(); | |||||
this.fireTableDataChanged(); | |||||
} | |||||
} |
<?xml version="1.0" encoding="UTF-8" ?> | |||||
<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo"> | |||||
<NonVisualComponents> | |||||
<Container class="javax.swing.JPopupMenu" name="jPopupMenu1"> | |||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> | |||||
<Property name="useNullLayout" type="boolean" value="true"/> | |||||
</Layout> | |||||
<SubComponents> | |||||
<MenuItem class="javax.swing.JMenuItem" name="ctmiAdd_popup"> | |||||
<Properties> | |||||
<Property name="mnemonic" type="int" value="97"/> | |||||
<Property name="text" type="java.lang.String" value="add a line"/> | |||||
<Property name="toolTipText" type="java.lang.String" value="add a line"/> | |||||
</Properties> | |||||
</MenuItem> | |||||
<MenuItem class="javax.swing.JMenuItem" name="ctmiDelRow_popup"> | |||||
<Properties> | |||||
<Property name="mnemonic" type="int" value="100"/> | |||||
<Property name="text" type="java.lang.String" value="delete"/> | |||||
<Property name="toolTipText" type="java.lang.String" value="delete this line"/> | |||||
</Properties> | |||||
</MenuItem> | |||||
</SubComponents> | |||||
</Container> | |||||
</NonVisualComponents> | |||||
<Properties> | |||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor"> | |||||
<Dimension value="[600, 300]"/> | |||||
</Property> | |||||
</Properties> | |||||
<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"/> | |||||
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,70,0,0,3,21"/> | |||||
</AuxValues> | |||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/> | |||||
<SubComponents> | |||||
<Container class="javax.swing.JScrollPane" name="jScrollPane1"> | |||||
<AuxValues> | |||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> | |||||
</AuxValues> | |||||
<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 class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> | |||||
<SubComponents> | |||||
<Component class="javax.swing.JTable" name="jTable"> | |||||
<Properties> | |||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor"> | |||||
<Table columnCount="6" rowCount="20"> | |||||
<Column editable="true" title="Nachname" type="java.lang.Object"/> | |||||
<Column editable="true" title="Name" type="java.lang.Object"/> | |||||
<Column editable="true" title="Strasse, Nr." type="java.lang.Object"/> | |||||
<Column editable="true" title="PLZ" type="java.lang.Object"/> | |||||
<Column editable="true" title="Ort" type="java.lang.Object"/> | |||||
<Column editable="true" title="Telefonnr." type="java.lang.Object"/> | |||||
</Table> | |||||
</Property> | |||||
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor"> | |||||
<TableColumnModel selectionModel="0"> | |||||
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true"> | |||||
<Title/> | |||||
<Editor/> | |||||
<Renderer/> | |||||
</Column> | |||||
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true"> | |||||
<Title/> | |||||
<Editor/> | |||||
<Renderer/> | |||||
</Column> | |||||
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true"> | |||||
<Title/> | |||||
<Editor/> | |||||
<Renderer/> | |||||
</Column> | |||||
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true"> | |||||
<Title/> | |||||
<Editor/> | |||||
<Renderer/> | |||||
</Column> | |||||
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true"> | |||||
<Title/> | |||||
<Editor/> | |||||
<Renderer/> | |||||
</Column> | |||||
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true"> | |||||
<Title/> | |||||
<Editor/> | |||||
<Renderer/> | |||||
</Column> | |||||
</TableColumnModel> | |||||
</Property> | |||||
<Property name="componentPopupMenu" type="javax.swing.JPopupMenu" editor="org.netbeans.modules.form.ComponentChooserEditor"> | |||||
<ComponentRef name="jPopupMenu1"/> | |||||
</Property> | |||||
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor"> | |||||
<TableHeader reorderingAllowed="true" resizingAllowed="true"/> | |||||
</Property> | |||||
</Properties> | |||||
</Component> | |||||
</SubComponents> | |||||
</Container> | |||||
<Container class="javax.swing.JToolBar" name="jToolBar1"> | |||||
<Properties> | |||||
<Property name="rollover" type="boolean" value="true"/> | |||||
</Properties> | |||||
<Constraints> | |||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription"> | |||||
<BorderConstraints direction="Last"/> | |||||
</Constraint> | |||||
</Constraints> | |||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/> | |||||
<SubComponents> | |||||
<Component class="javax.swing.JButton" name="btnAdd"> | |||||
<Properties> | |||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> | |||||
<Image iconType="3" name="/view/icons/RowInsertAfter24.gif"/> | |||||
</Property> | |||||
<Property name="toolTipText" type="java.lang.String" value="add entry"/> | |||||
<Property name="focusable" type="boolean" value="false"/> | |||||
<Property name="horizontalTextPosition" type="int" value="0"/> | |||||
<Property name="verticalTextPosition" type="int" value="3"/> | |||||
</Properties> | |||||
</Component> | |||||
<Component class="javax.swing.JButton" name="btnDel"> | |||||
<Properties> | |||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> | |||||
<Image iconType="3" name="/view/icons/RowDelete24.gif"/> | |||||
</Property> | |||||
<Property name="toolTipText" type="java.lang.String" value="delete entry"/> | |||||
<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> | |||||
</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 view; | |||||
/** | |||||
* | |||||
* @author endresma66479 | |||||
*/ | |||||
public class ContentTable extends javax.swing.JPanel | |||||
{ | |||||
/** | |||||
* @return the jTable | |||||
*/ | |||||
public javax.swing.JTable getjTable() | |||||
{ | |||||
return jTable; | |||||
} | |||||
/** | |||||
* @return the ctmiAdd_popup | |||||
*/ | |||||
public javax.swing.JMenuItem getCtmiAdd_popup() | |||||
{ | |||||
return ctmiAdd_popup; | |||||
} | |||||
/** | |||||
* @return the ctmiDelRow_popup | |||||
*/ | |||||
public javax.swing.JMenuItem getCtmiDelRow_popup() | |||||
{ | |||||
return ctmiDelRow_popup; | |||||
} | |||||
/** | |||||
* @return the btnAdd | |||||
*/ | |||||
public javax.swing.JButton getBtnAdd() | |||||
{ | |||||
return btnAdd; | |||||
} | |||||
/** | |||||
* @return the btnDel | |||||
*/ | |||||
public javax.swing.JButton getBtnDel() | |||||
{ | |||||
return btnDel; | |||||
} | |||||
/** | |||||
* Creates new form ContentTable | |||||
*/ | |||||
public ContentTable() | |||||
{ | |||||
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() | |||||
{ | |||||
jPopupMenu1 = new javax.swing.JPopupMenu(); | |||||
ctmiAdd_popup = new javax.swing.JMenuItem(); | |||||
ctmiDelRow_popup = new javax.swing.JMenuItem(); | |||||
jScrollPane1 = new javax.swing.JScrollPane(); | |||||
jTable = new javax.swing.JTable(); | |||||
jToolBar1 = new javax.swing.JToolBar(); | |||||
btnAdd = new javax.swing.JButton(); | |||||
btnDel = new javax.swing.JButton(); | |||||
ctmiAdd_popup.setMnemonic('a'); | |||||
ctmiAdd_popup.setText("add a line"); | |||||
ctmiAdd_popup.setToolTipText("add a line"); | |||||
jPopupMenu1.add(ctmiAdd_popup); | |||||
ctmiDelRow_popup.setMnemonic('d'); | |||||
ctmiDelRow_popup.setText("delete"); | |||||
ctmiDelRow_popup.setToolTipText("delete this line"); | |||||
jPopupMenu1.add(ctmiDelRow_popup); | |||||
setPreferredSize(new java.awt.Dimension(600, 300)); | |||||
setLayout(new java.awt.BorderLayout()); | |||||
jTable.setModel(new javax.swing.table.DefaultTableModel( | |||||
new Object [][] | |||||
{ | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null}, | |||||
{null, null, null, null, null, null} | |||||
}, | |||||
new String [] | |||||
{ | |||||
"Nachname", "Name", "Strasse, Nr.", "PLZ", "Ort", "Telefonnr." | |||||
} | |||||
)); | |||||
jTable.setComponentPopupMenu(jPopupMenu1); | |||||
jScrollPane1.setViewportView(jTable); | |||||
add(jScrollPane1, java.awt.BorderLayout.CENTER); | |||||
jToolBar1.setRollover(true); | |||||
btnAdd.setIcon(new javax.swing.ImageIcon(getClass().getResource("/view/icons/RowInsertAfter24.gif"))); // NOI18N | |||||
btnAdd.setToolTipText("add entry"); | |||||
btnAdd.setFocusable(false); | |||||
btnAdd.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); | |||||
btnAdd.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); | |||||
jToolBar1.add(btnAdd); | |||||
btnDel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/view/icons/RowDelete24.gif"))); // NOI18N | |||||
btnDel.setToolTipText("delete entry"); | |||||
btnDel.setFocusable(false); | |||||
btnDel.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); | |||||
btnDel.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); | |||||
jToolBar1.add(btnDel); | |||||
add(jToolBar1, java.awt.BorderLayout.PAGE_END); | |||||
}// </editor-fold>//GEN-END:initComponents | |||||
// Variables declaration - do not modify//GEN-BEGIN:variables | |||||
private javax.swing.JButton btnAdd; | |||||
private javax.swing.JButton btnDel; | |||||
private javax.swing.JMenuItem ctmiAdd_popup; | |||||
private javax.swing.JMenuItem ctmiDelRow_popup; | |||||
private javax.swing.JPopupMenu jPopupMenu1; | |||||
private javax.swing.JScrollPane jScrollPane1; | |||||
private javax.swing.JTable jTable; | |||||
private javax.swing.JToolBar jToolBar1; | |||||
// End of variables declaration//GEN-END:variables | |||||
} |
<?xml version="1.0" encoding="UTF-8" ?> | |||||
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo"> | |||||
<NonVisualComponents> | |||||
<Container class="javax.swing.JPopupMenu" name="jPopupMenu1"> | |||||
<Properties> | |||||
<Property name="componentPopupMenu" type="javax.swing.JPopupMenu" editor="org.netbeans.modules.form.ComponentChooserEditor"> | |||||
<ComponentRef name="jPopupMenu1"/> | |||||
</Property> | |||||
</Properties> | |||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout"> | |||||
<Property name="useNullLayout" type="boolean" value="true"/> | |||||
</Layout> | |||||
<SubComponents> | |||||
<MenuItem class="javax.swing.JMenuItem" name="miSave_popup"> | |||||
<Properties> | |||||
<Property name="mnemonic" type="int" value="115"/> | |||||
<Property name="text" type="java.lang.String" value="save"/> | |||||
<Property name="toolTipText" type="java.lang.String" value="save this file"/> | |||||
</Properties> | |||||
</MenuItem> | |||||
<MenuItem class="javax.swing.JMenuItem" name="miOpen_popup"> | |||||
<Properties> | |||||
<Property name="mnemonic" type="int" value="111"/> | |||||
<Property name="text" type="java.lang.String" value="open"/> | |||||
<Property name="toolTipText" type="java.lang.String" value="open a file"/> | |||||
</Properties> | |||||
</MenuItem> | |||||
</SubComponents> | |||||
</Container> | |||||
<Container class="javax.swing.JDialog" name="FileDialog"> | |||||
<Layout> | |||||
<DimensionLayout dim="0"> | |||||
<Group type="103" groupAlignment="0" attributes="0"> | |||||
<EmptySpace min="0" pref="400" max="32767" attributes="0"/> | |||||
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> | |||||
<Group type="102" attributes="0"> | |||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/> | |||||
<Component id="FileDialogP1" min="-2" max="-2" attributes="0"/> | |||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/> | |||||
</Group> | |||||
</Group> | |||||
</Group> | |||||
</DimensionLayout> | |||||
<DimensionLayout dim="1"> | |||||
<Group type="103" groupAlignment="0" attributes="0"> | |||||
<EmptySpace min="0" pref="300" max="32767" attributes="0"/> | |||||
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> | |||||
<Group type="102" attributes="0"> | |||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/> | |||||
<Component id="FileDialogP1" min="-2" max="-2" attributes="0"/> | |||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/> | |||||
</Group> | |||||
</Group> | |||||
</Group> | |||||
</DimensionLayout> | |||||
</Layout> | |||||
<SubComponents> | |||||
<Container class="javax.swing.JPanel" name="FileDialogP1"> | |||||
<Layout> | |||||
<DimensionLayout dim="0"> | |||||
<Group type="103" groupAlignment="0" attributes="0"> | |||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/> | |||||
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> | |||||
<Group type="102" attributes="0"> | |||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/> | |||||
<Component id="FileChooser" min="-2" max="-2" attributes="0"/> | |||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/> | |||||
</Group> | |||||
</Group> | |||||
</Group> | |||||
</DimensionLayout> | |||||
<DimensionLayout dim="1"> | |||||
<Group type="103" groupAlignment="0" attributes="0"> | |||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/> | |||||
<Group type="103" rootIndex="1" groupAlignment="0" attributes="0"> | |||||
<Group type="102" attributes="0"> | |||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/> | |||||
<Component id="FileChooser" min="-2" max="-2" attributes="0"/> | |||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/> | |||||
</Group> | |||||
</Group> | |||||
</Group> | |||||
</DimensionLayout> | |||||
</Layout> | |||||
<SubComponents> | |||||
<Component class="javax.swing.JFileChooser" name="FileChooser"> | |||||
</Component> | |||||
</SubComponents> | |||||
</Container> | |||||
</SubComponents> | |||||
</Container> | |||||
<Menu class="javax.swing.JMenuBar" name="jMenuBar1"> | |||||
<SubComponents> | |||||
<Menu class="javax.swing.JMenu" name="jmFile"> | |||||
<Properties> | |||||
<Property name="text" type="java.lang.String" value="File"/> | |||||
</Properties> | |||||
<SubComponents> | |||||
<MenuItem class="javax.swing.JMenuItem" name="miSave"> | |||||
<Properties> | |||||
<Property name="accelerator" type="javax.swing.KeyStroke" editor="org.netbeans.modules.form.editors.KeyStrokeEditor"> | |||||
<KeyStroke key="Ctrl+S"/> | |||||
</Property> | |||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> | |||||
<Image iconType="3" name="/view/icons/Save24.gif"/> | |||||
</Property> | |||||
<Property name="mnemonic" type="int" value="115"/> | |||||
<Property name="text" type="java.lang.String" value="Save"/> | |||||
<Property name="toolTipText" type="java.lang.String" value="Save current file"/> | |||||
</Properties> | |||||
</MenuItem> | |||||
<Menu class="javax.swing.JMenu" name="jmOpenPU"> | |||||
<Properties> | |||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> | |||||
<Image iconType="3" name="/view/icons/Open24.gif"/> | |||||
</Property> | |||||
<Property name="mnemonic" type="int" value="79"/> | |||||
<Property name="text" type="java.lang.String" value="Open"/> | |||||
</Properties> | |||||
<SubComponents> | |||||
<MenuItem class="javax.swing.JMenuItem" name="miNewFile"> | |||||
<Properties> | |||||
<Property name="accelerator" type="javax.swing.KeyStroke" editor="org.netbeans.modules.form.editors.KeyStrokeEditor"> | |||||
<KeyStroke key="Ctrl+N"/> | |||||
</Property> | |||||
<Property name="mnemonic" type="int" value="110"/> | |||||
<Property name="text" type="java.lang.String" value="new"/> | |||||
<Property name="toolTipText" type="java.lang.String" value="create a new file"/> | |||||
</Properties> | |||||
</MenuItem> | |||||
<MenuItem class="javax.swing.JMenuItem" name="miOpen"> | |||||
<Properties> | |||||
<Property name="accelerator" type="javax.swing.KeyStroke" editor="org.netbeans.modules.form.editors.KeyStrokeEditor"> | |||||
<KeyStroke key="Ctrl+O"/> | |||||
</Property> | |||||
<Property name="mnemonic" type="int" value="111"/> | |||||
<Property name="text" type="java.lang.String" value="open"/> | |||||
<Property name="toolTipText" type="java.lang.String" value="open a existing file"/> | |||||
</Properties> | |||||
</MenuItem> | |||||
</SubComponents> | |||||
</Menu> | |||||
</SubComponents> | |||||
</Menu> | |||||
<Menu class="javax.swing.JMenu" name="jmEdit"> | |||||
<Properties> | |||||
<Property name="text" type="java.lang.String" value="Edit"/> | |||||
</Properties> | |||||
</Menu> | |||||
</SubComponents> | |||||
</Menu> | |||||
</NonVisualComponents> | |||||
<Properties> | |||||
<Property name="defaultCloseOperation" type="int" value="3"/> | |||||
<Property name="title" type="java.lang.String" value="Adressverwalter"/> | |||||
<Property name="size" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor"> | |||||
<Dimension value="[600, 600]"/> | |||||
</Property> | |||||
</Properties> | |||||
<SyntheticProperties> | |||||
<SyntheticProperty name="menuBar" type="java.lang.String" value="jMenuBar1"/> | |||||
<SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,-87,0,0,2,52"/> | |||||
<SyntheticProperty name="formSizePolicy" type="int" value="0"/> | |||||
<SyntheticProperty name="generateSize" type="boolean" value="true"/> | |||||
<SyntheticProperty name="generateCenter" type="boolean" value="true"/> | |||||
</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.JToolBar" name="jToolBar1"> | |||||
<Properties> | |||||
<Property name="rollover" type="boolean" value="true"/> | |||||
</Properties> | |||||
<Constraints> | |||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription"> | |||||
<BorderConstraints direction="First"/> | |||||
</Constraint> | |||||
</Constraints> | |||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/> | |||||
<SubComponents> | |||||
<Component class="javax.swing.JButton" name="btnOpen"> | |||||
<Properties> | |||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> | |||||
<Image iconType="3" name="/view/icons/Open24.gif"/> | |||||
</Property> | |||||
<Property name="mnemonic" type="int" value="79"/> | |||||
<Property name="toolTipText" type="java.lang.String" value="Open a file"/> | |||||
<Property name="focusable" type="boolean" value="false"/> | |||||
<Property name="horizontalTextPosition" type="int" value="0"/> | |||||
<Property name="verticalTextPosition" type="int" value="3"/> | |||||
</Properties> | |||||
</Component> | |||||
<Component class="javax.swing.JButton" name="btnSave"> | |||||
<Properties> | |||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> | |||||
<Image iconType="3" name="/view/icons/Save24.gif"/> | |||||
</Property> | |||||
<Property name="mnemonic" type="int" value="83"/> | |||||
<Property name="toolTipText" type="java.lang.String" value="Save this file"/> | |||||
<Property name="focusable" type="boolean" value="false"/> | |||||
<Property name="horizontalTextPosition" type="int" value="0"/> | |||||
<Property name="verticalTextPosition" type="int" value="3"/> | |||||
</Properties> | |||||
</Component> | |||||
<Component class="javax.swing.JButton" name="btnUndo"> | |||||
<Properties> | |||||
<Property name="text" type="java.lang.String" value="undo"/> | |||||
<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> | |||||
<Component class="javax.swing.JLabel" name="lblFilePath"> | |||||
<Properties> | |||||
<Property name="text" type="java.lang.String" value="/"/> | |||||
<Property name="toolTipText" type="java.lang.String" value="File location"/> | |||||
</Properties> | |||||
<Constraints> | |||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription"> | |||||
<BorderConstraints direction="Last"/> | |||||
</Constraint> | |||||
</Constraints> | |||||
</Component> | |||||
<Component class="view.ContentTable" name="contentTable1"> | |||||
<Properties> | |||||
<Property name="componentPopupMenu" type="javax.swing.JPopupMenu" editor="org.netbeans.modules.form.ComponentChooserEditor"> | |||||
<ComponentRef name="jPopupMenu1"/> | |||||
</Property> | |||||
</Properties> | |||||
<Constraints> | |||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription"> | |||||
<BorderConstraints direction="Center"/> | |||||
</Constraint> | |||||
</Constraints> | |||||
</Component> | |||||
</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 view; | |||||
/** | |||||
* | |||||
* @author matthias | |||||
*/ | |||||
public class gui extends javax.swing.JFrame { | |||||
/** | |||||
* @return the btnUndo | |||||
*/ | |||||
public javax.swing.JButton getBtnUndo() | |||||
{ | |||||
return btnUndo; | |||||
} | |||||
/** | |||||
* @return the contentTable1 | |||||
*/ | |||||
public view.ContentTable getContentTable1() | |||||
{ | |||||
return contentTable1; | |||||
} | |||||
/** | |||||
* @return the FileChooser | |||||
*/ | |||||
public javax.swing.JFileChooser getFileChooser() | |||||
{ | |||||
return FileChooser; | |||||
} | |||||
/** | |||||
* @return the lblFilePath | |||||
*/ | |||||
public javax.swing.JLabel getLblFilePath() | |||||
{ | |||||
return lblFilePath; | |||||
} | |||||
/** | |||||
* @return the miNewFile | |||||
*/ | |||||
public javax.swing.JMenuItem getMiNewFile() | |||||
{ | |||||
return miNewFile; | |||||
} | |||||
/** | |||||
* @return the miOpen | |||||
*/ | |||||
public javax.swing.JMenuItem getMiOpen() | |||||
{ | |||||
return miOpen; | |||||
} | |||||
/** | |||||
* @return the miOpen_popup | |||||
*/ | |||||
public javax.swing.JMenuItem getMiOpen_popup() | |||||
{ | |||||
return miOpen_popup; | |||||
} | |||||
/** | |||||
* @return the FileDialog | |||||
*/ | |||||
public javax.swing.JDialog getFileDialog() | |||||
{ | |||||
return FileDialog; | |||||
} | |||||
/** | |||||
* @return the btnOpen | |||||
*/ | |||||
public javax.swing.JButton getBtnOpen() | |||||
{ | |||||
return btnOpen; | |||||
} | |||||
/** | |||||
* @return the btnSave | |||||
*/ | |||||
public javax.swing.JButton getBtnSave() | |||||
{ | |||||
return btnSave; | |||||
} | |||||
/** | |||||
* @return the miSave | |||||
*/ | |||||
public javax.swing.JMenuItem getMiSave() | |||||
{ | |||||
return miSave; | |||||
} | |||||
/** | |||||
* @return the miSave_popup | |||||
*/ | |||||
public javax.swing.JMenuItem getMiSave_popup() | |||||
{ | |||||
return miSave_popup; | |||||
} | |||||
/** | |||||
* Creates new form NewJFrame | |||||
*/ | |||||
public gui() { | |||||
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() | |||||
{ | |||||
jPopupMenu1 = new javax.swing.JPopupMenu(); | |||||
miSave_popup = new javax.swing.JMenuItem(); | |||||
miOpen_popup = new javax.swing.JMenuItem(); | |||||
FileDialog = new javax.swing.JDialog(); | |||||
FileDialogP1 = new javax.swing.JPanel(); | |||||
FileChooser = new javax.swing.JFileChooser(); | |||||
jToolBar1 = new javax.swing.JToolBar(); | |||||
btnOpen = new javax.swing.JButton(); | |||||
btnSave = new javax.swing.JButton(); | |||||
btnUndo = new javax.swing.JButton(); | |||||
lblFilePath = new javax.swing.JLabel(); | |||||
contentTable1 = new view.ContentTable(); | |||||
jMenuBar1 = new javax.swing.JMenuBar(); | |||||
jmFile = new javax.swing.JMenu(); | |||||
miSave = new javax.swing.JMenuItem(); | |||||
jmOpenPU = new javax.swing.JMenu(); | |||||
miNewFile = new javax.swing.JMenuItem(); | |||||
miOpen = new javax.swing.JMenuItem(); | |||||
jmEdit = new javax.swing.JMenu(); | |||||
jPopupMenu1.setComponentPopupMenu(jPopupMenu1); | |||||
miSave_popup.setMnemonic('s'); | |||||
miSave_popup.setText("save"); | |||||
miSave_popup.setToolTipText("save this file"); | |||||
jPopupMenu1.add(miSave_popup); | |||||
miOpen_popup.setMnemonic('o'); | |||||
miOpen_popup.setText("open"); | |||||
miOpen_popup.setToolTipText("open a file"); | |||||
jPopupMenu1.add(miOpen_popup); | |||||
javax.swing.GroupLayout FileDialogP1Layout = new javax.swing.GroupLayout(FileDialogP1); | |||||
FileDialogP1.setLayout(FileDialogP1Layout); | |||||
FileDialogP1Layout.setHorizontalGroup( | |||||
FileDialogP1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addGap(0, 0, Short.MAX_VALUE) | |||||
.addGroup(FileDialogP1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addGroup(FileDialogP1Layout.createSequentialGroup() | |||||
.addGap(0, 0, Short.MAX_VALUE) | |||||
.addComponent(FileChooser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) | |||||
.addGap(0, 0, Short.MAX_VALUE))) | |||||
); | |||||
FileDialogP1Layout.setVerticalGroup( | |||||
FileDialogP1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addGap(0, 0, Short.MAX_VALUE) | |||||
.addGroup(FileDialogP1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addGroup(FileDialogP1Layout.createSequentialGroup() | |||||
.addGap(0, 0, Short.MAX_VALUE) | |||||
.addComponent(FileChooser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) | |||||
.addGap(0, 0, Short.MAX_VALUE))) | |||||
); | |||||
javax.swing.GroupLayout FileDialogLayout = new javax.swing.GroupLayout(FileDialog.getContentPane()); | |||||
FileDialog.getContentPane().setLayout(FileDialogLayout); | |||||
FileDialogLayout.setHorizontalGroup( | |||||
FileDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addGap(0, 400, Short.MAX_VALUE) | |||||
.addGroup(FileDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addGroup(FileDialogLayout.createSequentialGroup() | |||||
.addGap(0, 0, Short.MAX_VALUE) | |||||
.addComponent(FileDialogP1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) | |||||
.addGap(0, 0, Short.MAX_VALUE))) | |||||
); | |||||
FileDialogLayout.setVerticalGroup( | |||||
FileDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addGap(0, 300, Short.MAX_VALUE) | |||||
.addGroup(FileDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |||||
.addGroup(FileDialogLayout.createSequentialGroup() | |||||
.addGap(0, 0, Short.MAX_VALUE) | |||||
.addComponent(FileDialogP1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) | |||||
.addGap(0, 0, Short.MAX_VALUE))) | |||||
); | |||||
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); | |||||
setTitle("Adressverwalter"); | |||||
setSize(new java.awt.Dimension(600, 600)); | |||||
jToolBar1.setRollover(true); | |||||
btnOpen.setIcon(new javax.swing.ImageIcon(getClass().getResource("/view/icons/Open24.gif"))); // NOI18N | |||||
btnOpen.setMnemonic('O'); | |||||
btnOpen.setToolTipText("Open a file"); | |||||
btnOpen.setFocusable(false); | |||||
btnOpen.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); | |||||
btnOpen.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); | |||||
jToolBar1.add(btnOpen); | |||||
btnSave.setIcon(new javax.swing.ImageIcon(getClass().getResource("/view/icons/Save24.gif"))); // NOI18N | |||||
btnSave.setMnemonic('S'); | |||||
btnSave.setToolTipText("Save this file"); | |||||
btnSave.setFocusable(false); | |||||
btnSave.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); | |||||
btnSave.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); | |||||
jToolBar1.add(btnSave); | |||||
btnUndo.setText("undo"); | |||||
btnUndo.setFocusable(false); | |||||
btnUndo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); | |||||
btnUndo.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); | |||||
jToolBar1.add(btnUndo); | |||||
getContentPane().add(jToolBar1, java.awt.BorderLayout.PAGE_START); | |||||
lblFilePath.setText("/"); | |||||
lblFilePath.setToolTipText("File location"); | |||||
getContentPane().add(lblFilePath, java.awt.BorderLayout.PAGE_END); | |||||
contentTable1.setComponentPopupMenu(jPopupMenu1); | |||||
getContentPane().add(contentTable1, java.awt.BorderLayout.CENTER); | |||||
jmFile.setText("File"); | |||||
miSave.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK)); | |||||
miSave.setIcon(new javax.swing.ImageIcon(getClass().getResource("/view/icons/Save24.gif"))); // NOI18N | |||||
miSave.setMnemonic('s'); | |||||
miSave.setText("Save"); | |||||
miSave.setToolTipText("Save current file"); | |||||
jmFile.add(miSave); | |||||
jmOpenPU.setIcon(new javax.swing.ImageIcon(getClass().getResource("/view/icons/Open24.gif"))); // NOI18N | |||||
jmOpenPU.setMnemonic('O'); | |||||
jmOpenPU.setText("Open"); | |||||
miNewFile.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK)); | |||||
miNewFile.setMnemonic('n'); | |||||
miNewFile.setText("new"); | |||||
miNewFile.setToolTipText("create a new file"); | |||||
jmOpenPU.add(miNewFile); | |||||
miOpen.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK)); | |||||
miOpen.setMnemonic('o'); | |||||
miOpen.setText("open"); | |||||
miOpen.setToolTipText("open a existing file"); | |||||
jmOpenPU.add(miOpen); | |||||
jmFile.add(jmOpenPU); | |||||
jMenuBar1.add(jmFile); | |||||
jmEdit.setText("Edit"); | |||||
jMenuBar1.add(jmEdit); | |||||
setJMenuBar(jMenuBar1); | |||||
setSize(new java.awt.Dimension(564, 425)); | |||||
setLocationRelativeTo(null); | |||||
}// </editor-fold>//GEN-END:initComponents | |||||
/** | |||||
* @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(gui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||||
} catch (InstantiationException ex) { | |||||
java.util.logging.Logger.getLogger(gui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||||
} catch (IllegalAccessException ex) { | |||||
java.util.logging.Logger.getLogger(gui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||||
} catch (javax.swing.UnsupportedLookAndFeelException ex) { | |||||
java.util.logging.Logger.getLogger(gui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); | |||||
} | |||||
//</editor-fold> | |||||
//</editor-fold> | |||||
/* Create and display the form */ | |||||
java.awt.EventQueue.invokeLater(new Runnable() { | |||||
public void run() { | |||||
new gui().setVisible(true); | |||||
} | |||||
}); | |||||
} | |||||
// Variables declaration - do not modify//GEN-BEGIN:variables | |||||
private javax.swing.JFileChooser FileChooser; | |||||
private javax.swing.JDialog FileDialog; | |||||
private javax.swing.JPanel FileDialogP1; | |||||
private javax.swing.JButton btnOpen; | |||||
private javax.swing.JButton btnSave; | |||||
private javax.swing.JButton btnUndo; | |||||
private view.ContentTable contentTable1; | |||||
private javax.swing.JMenuBar jMenuBar1; | |||||
private javax.swing.JPopupMenu jPopupMenu1; | |||||
private javax.swing.JToolBar jToolBar1; | |||||
private javax.swing.JMenu jmEdit; | |||||
private javax.swing.JMenu jmFile; | |||||
private javax.swing.JMenu jmOpenPU; | |||||
private javax.swing.JLabel lblFilePath; | |||||
private javax.swing.JMenuItem miNewFile; | |||||
private javax.swing.JMenuItem miOpen; | |||||
private javax.swing.JMenuItem miOpen_popup; | |||||
private javax.swing.JMenuItem miSave; | |||||
private javax.swing.JMenuItem miSave_popup; | |||||
// End of variables declaration//GEN-END:variables | |||||
} |