Browse Source

Version 1.0

fertige Aufgabe
MyBranch
weberni69795 5 years ago
commit
588c1be66e

+ 74
- 0
src/autogui/AutoGUI.java View File

/*
* 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){}
}
}

+ 57
- 0
src/commands/CommandAdd.java View File

/*
* 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() {
}
}

+ 85
- 0
src/commands/CommandDelete.java View File

/*
* 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();
}
}

+ 17
- 0
src/commands/CommandInterface.java View File

/*
* 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
}

+ 52
- 0
src/commands/CommandInvoker.java View File

/*
* 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();
}
}
}

+ 76
- 0
src/commands/CommandOpen.java View File

/*
* 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() {
}
}

+ 74
- 0
src/commands/CommandSave.java View File

/*
* 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() {
}
}

+ 60
- 0
src/controller/C_FileDialogOpen.java View File

/* 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"));
}
}
}
*/

+ 93
- 0
src/controller/C_MenuListener.java View File

/*
* 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);
}
}

+ 62
- 0
src/controller/C_MenuListener_undo.java View File

/*
* 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();
}
}

+ 45
- 0
src/controller/C_SaveFile.java View File

/* 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...");
}
}

*/

+ 124
- 0
src/model/model.java View File

/*
* 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();
}
}

+ 153
- 0
src/view/ContentTable.form View File

<?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>

+ 157
- 0
src/view/ContentTable.java View File

/*
* 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
}

+ 255
- 0
src/view/gui.form View File

<?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>

+ 328
- 0
src/view/gui.java View File

/*
* 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
}

BIN
src/view/icons/Open24.gif View File


BIN
src/view/icons/RowDelete24.gif View File


BIN
src/view/icons/RowInsertAfter24.gif View File


BIN
src/view/icons/Save24.gif View File


Loading…
Cancel
Save