package AlMaGe;
import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.KeyEventDispatcher;
import java.awt.KeyboardFocusManager;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.sql.Date;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.imageio.ImageIO;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.border.EtchedBorder;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import org.jdesktop.swingx.JXTreeTable;
import org.jdesktop.swingx.decorator.HighlighterFactory;
import com.itextpdf.text.DocumentException;
import AlMaGe.PersonModify.Status;
import AlMaGe.export.ExcelExport;
import AlMaGe.export.PDFExport;
import AlMaGe.export.ExcelExport.Zeitraum;
import AlMaGe.export.PDFExport.PDF;
@SuppressWarnings("serial")
public class GehaltTreeTable
{
//ToolBar
private String[] monatName = { "Januar",
"Februar",
"M�rz",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Dezember"};
private JToolBar toolBar = new JToolBar();
private JToolBar datToolBar = new JToolBar();
private static Calendar startCalendar = new GregorianCalendar(Calendar.getInstance().get(Calendar.YEAR)-1, Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
private JButton startZurueck = new JButton(new ImageIcon(GehaltTreeTable.class.getResource("/toolbarButtonGraphics/navigation/Back16.gif")));
private JButton startYearMonth = new JButton(monatName[startCalendar.get(Calendar.MONTH)]+" "+startCalendar.get(Calendar.YEAR));
private JPopupMenu startPopup = new JPopupMenu();
private JButton startVor = new JButton(new ImageIcon(GehaltTreeTable.class.getResource("/toolbarButtonGraphics/navigation/Forward16.gif")));
private static Calendar endCalendar = new GregorianCalendar();
private JButton endZurueck = new JButton(new ImageIcon(GehaltTreeTable.class.getResource("/toolbarButtonGraphics/navigation/Back16.gif")));
private JButton endYearMonth = new JButton(monatName[endCalendar.get(Calendar.MONTH)]+" "+endCalendar.get(Calendar.YEAR));
private JPopupMenu endPopup = new JPopupMenu();
private JButton endVor = new JButton(new ImageIcon(GehaltTreeTable.class.getResource("/toolbarButtonGraphics/navigation/Forward16.gif")));
private Calendar endMaxCalendar = new GregorianCalendar();
private Calendar startMinCalendar = new GregorianCalendar(Calendar.getInstance().get(Calendar.YEAR)-100, Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
private JButton startBtnVor = new JButton(">");
private JButton startBtnZurueck = new JButton("<");
private ArrayList<JButton> startMonBtn = new ArrayList<JButton>();
private JButton endBtnZurueck = new JButton("<");
private JButton endBtnVor = new JButton(">");
private ArrayList<JButton> endMonBtn = new ArrayList<JButton>();
private static JTextField tfSuche = new JTextField();
//TrayIcon
private TrayIcon trayIcon = new TrayIcon(Toolkit.getDefaultToolkit().getImage(GehaltTreeTable.class.getResource("/images/icons/16X16/tray.png")), "AlMaGe - Gehaltsabrechnung");
private PopupMenu trayPopMenu = new PopupMenu();
private boolean showInfo = true;
private static GeTreeTableModelThread tableModelThread;
//JFrame
private static JFrame mainFrame = new JFrame();
//TreeTable
private static ArrayList<Integer> expandedTreeList = new ArrayList<Integer>();
private static GeTreeTabelModel treeTableModel = new GeTreeTabelModel(new Date(startCalendar.getTimeInMillis()), new Date(endCalendar.getTimeInMillis()), "");
static JXTreeTable treeTable = new JXTreeTable( treeTableModel ){
public String getToolTipText(MouseEvent e) {
String tip = null;
java.awt.Point p = e.getPoint();
int rowIndex = rowAtPoint(p);
int colIndex = columnAtPoint(p);
int realColumnIndex = convertColumnIndexToModel(colIndex);
if (realColumnIndex == 0 && getValueAt(rowIndex, colIndex) != null && getValueAt(rowIndex, colIndex).getClass().getSimpleName().equals("MainTreeNode")) { //First column
MainTreeNode node = (MainTreeNode)getValueAt(rowIndex, colIndex);
tip = node.getTooltip();
} else {
tip = super.getToolTipText(e);
}
return tip;
}
};
//Popup Men�
JPopupMenu popMenu = new JPopupMenu();
// Statusbar
private JLabel labStatus = new JLabel(" ");
private static JLabel labUhrzeit = new JLabel(" ");
private JPanel statPanel = new JPanel();
public GehaltTreeTable() throws AWTException
{
//Highlighter
treeTable.addHighlighter(HighlighterFactory.createAlternateStriping(new Color(255, 255, 255), new Color(230, 230, 230)));
//Calendar for Toolbar
startCalendar.set(startCalendar.get(Calendar.YEAR), startCalendar.get(Calendar.MONTH), startCalendar.getActualMinimum(Calendar.DAY_OF_MONTH), 0, 0, 0);
endCalendar.set(endCalendar.get(Calendar.YEAR), endCalendar.get(Calendar.MONTH), endCalendar.getActualMaximum(Calendar.DAY_OF_MONTH), 23, 59, 59);
//ToolBar
toolBar.addSeparator();
Action anzeigen = new AbstractAction(
"Anzeigen", setImageIcon("/images/icons/16X16/show_user.png")) {
public void actionPerformed(ActionEvent e) {
if(treeTable.getSelectedRowCount() == 1 && treeTable.getValueAt(treeTable.getSelectedRow(), 0).getClass().getSimpleName().equals("MainTreeNode")){
MainTreeNode node = (MainTreeNode) treeTable.getValueAt(treeTable.getSelectedRow(), 0);
try {
new PersonModify(null, node.getPersID(), Status.ANZEIGEN);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
}else{
MainTreeNode node = (MainTreeNode) treeTable.getValueAt(0, 0);
try {
new PersonModify(null, node.getPersID(), Status.ANZEIGEN);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
}
}
};
anzeigen.putValue(AbstractAction.SHORT_DESCRIPTION, "Anzeigen");
toolBar.add(anzeigen);
Action bearbeiten = new AbstractAction(
"Bearbeiten", setImageIcon("/images/icons/16X16/edit_user.png")) {
public void actionPerformed(ActionEvent e) {
if(treeTable.getSelectedRowCount() == 1 && treeTable.getValueAt(treeTable.getSelectedRow(), 0).getClass().getSimpleName().equals("MainTreeNode")){
MainTreeNode node = (MainTreeNode) treeTable.getValueAt(treeTable.getSelectedRow(), 0);
if(!node.isDeleted()){
try {
new PersonModify(null, node.getPersID(), Status.BEARBEITEN);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
}else{
node = (MainTreeNode) treeTable.getValueAt(0, 0);
try {
new PersonModify(null, node.getPersID(), Status.ANZEIGEN);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
}
}else{
MainTreeNode node = (MainTreeNode) treeTable.getValueAt(0, 0);
try {
new PersonModify(null, node.getPersID(), Status.ANZEIGEN);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
}
}
};
bearbeiten.putValue(AbstractAction.SHORT_DESCRIPTION, "Bearbeiten");
toolBar.add(bearbeiten);
Action loeschen = new AbstractAction(
"L�schen", setImageIcon("/images/icons/16X16/delete_user.png")) {
public void actionPerformed(ActionEvent e) {
if(treeTable.getSelectedRowCount() == 1 && treeTable.getValueAt(treeTable.getSelectedRow(), 0).getClass().getSimpleName().equals("MainTreeNode")){
MainTreeNode node = (MainTreeNode) treeTable.getValueAt(treeTable.getSelectedRow(), 0);
if(!node.isDeleted()){
try {
new PersonModify(null, node.getPersID(), Status.LOESCHEN);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
}else{
JOptionPane
.showMessageDialog(
mainFrame,
"Eintrag wurde bereits gel�scht.",
"Fehler",
JOptionPane.INFORMATION_MESSAGE);
}
}else{
JOptionPane
.showMessageDialog(
mainFrame,
"Bitte einen Mitarbeiter ausw�hlen",
"Fehler",
JOptionPane.INFORMATION_MESSAGE);
}
}
};
loeschen.putValue(AbstractAction.SHORT_DESCRIPTION, "L�schen");
toolBar.add(loeschen);
Action neu = new AbstractAction(
"Neu", setImageIcon("/images/icons/16X16/add_user.png")) {
public void actionPerformed(ActionEvent e) {
MainTreeNode node = (MainTreeNode) treeTable.getValueAt(0, 0);
try {
new PersonModify(null, node.getPersID(), Status.NEU);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
}
};
neu.putValue(AbstractAction.SHORT_DESCRIPTION, "Neu");
toolBar.add(neu);
toolBar.addSeparator();
Action abrechnen = new AbstractAction(
"Abrechnungen erstellen", setImageIcon("/images/icons/16X16/view_text.png")) {
public void actionPerformed(ActionEvent e) {
java.util.Date date = new java.util.Date();
File file = new File("");
SimpleDateFormat dfPayrolls = new SimpleDateFormat("dd.MM.yyyy");
SimpleDateFormat dfPDF = new SimpleDateFormat("yyyy-MM-dd");
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fc.setSelectedFile(file);
fc.setFileHidingEnabled(true);
fc.setApproveButtonText("Speichern");
fc.setApproveButtonToolTipText("Speicherort f�r Abrechnungen auw�hlen.");
fc.setApproveButtonMnemonic(KeyEvent.VK_S);
fc.setMultiSelectionEnabled(false);
int state = fc.showOpenDialog(null);
if (state == JFileChooser.APPROVE_OPTION
&& JOptionPane
.showOptionDialog(
null,
"<html><center>M�chten Sie Die Abrechnungen f�r alle Mitarbeiter<br>" +
"in dem Abrechnungszeitraum bis <br><br>" +
"<b>"+dfPayrolls.format(date)+"</center></b><br><br>" +
"Jetzt wirklich erstellen?<br><br>" +
"Dieser Vorgang ist nicht mehr r�ckg�ngig zu machen.<br><br>" +
"Die Abrechnungen werden unter folgender Datei gespeichert: <br><br><b>" +
fc.getSelectedFile().getAbsolutePath()+"\\"+dfPDF.format(date.getTime())+"_Gehaltsabrechnungen.pdf"+
"</b><br><br><center></html>",
"Abrechnungen erstellen",
JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE, null,
null, null) == 0){
String[] choices = {"Anzeigen", "Anzeigen & Drucken", "Drucken", "Nichts"};
int response = JOptionPane.showOptionDialog(
null // Center in window.
, "<html><center>Was soll nach erfolgreichem Erstellen<br>" +
"der Abrechnungen erfolgen?</center></html>" // Message
, "Bitte w�hlen" // Title in titlebar
, JOptionPane.YES_NO_OPTION // Option type
, JOptionPane.QUESTION_MESSAGE // messageType
, null // Icon (none)
, choices // Button text as above.
, "Anzeigen" // Default button's label
);
switch (response) {
case 0:
try {
new CreatePayrolls(fc.getSelectedFile().getAbsolutePath()+"\\"+dfPDF.format(date.getTime())+"_Gehaltsabrechnungen.pdf", PDF.ANZEIGEN, date);
} catch (MalformedURLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (DocumentException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
tableUpdate();
break;
case 1:
try {
new CreatePayrolls(fc.getSelectedFile().getAbsolutePath()+"\\"+dfPDF.format(date.getTime())+"_Gehaltsabrechnungen.pdf", PDF.ANZEIGEN_DRUCKEN, date);
} catch (MalformedURLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (DocumentException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
tableUpdate();
break;
case 2:
try {
new CreatePayrolls(fc.getSelectedFile().getAbsolutePath()+"\\"+dfPDF.format(date.getTime())+"_Gehaltsabrechnungen.pdf", PDF.DRUCKEN, date);
} catch (MalformedURLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (DocumentException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
tableUpdate();
break;
case 3:
try {
new CreatePayrolls(fc.getSelectedFile().getAbsolutePath()+"\\"+dfPDF.format(date.getTime())+"_Gehaltsabrechnungen.pdf", PDF.NICHTS, date);
} catch (MalformedURLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (DocumentException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
tableUpdate();
break;
default:
JOptionPane.showMessageDialog(null,
"Die Abrechnungen wurden nicht erstellt.",
"Abrechnungen nicht erstellt.",
JOptionPane.WARNING_MESSAGE);
break;
}
}else{
JOptionPane.showMessageDialog(null,
"Die Abrechnungen wurden nicht erstellt.",
"Abrechnungen nicht erstellt.",
JOptionPane.WARNING_MESSAGE);
}
}
};
abrechnen.putValue(AbstractAction.SHORT_DESCRIPTION, "aktuelle Abrechnungen erstellen");
toolBar.add(abrechnen);
toolBar.addSeparator();
Action excelReport = new AbstractAction(
"Excel Reports erstellen", setImageIcon("/images/icons/16X16/report.png")) {
public void actionPerformed(ActionEvent e) {
java.util.Date date = new java.util.Date();
File file = new File("");
SimpleDateFormat dfPDF = new SimpleDateFormat("yyyy-MM-dd");
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fc.setSelectedFile(file);
fc.setFileHidingEnabled(true);
fc.setApproveButtonText("Speichern");
fc.setApproveButtonToolTipText("Speicherort f�r Reports auw�hlen.");
fc.setApproveButtonMnemonic(KeyEvent.VK_S);
fc.setMultiSelectionEnabled(false);
int state = fc.showOpenDialog(null);
if (state == JFileChooser.APPROVE_OPTION){
String[] choices = {"Monat", "Quartal", "Jahr", "3 Jahre", "5 Jahre", "10 Jahre"};
int response = JOptionPane.showOptionDialog(
null // Center in window.
, "<html><center>F�r welchen Zeitraum soll der Report erstellt werden?<br>" +
"Bitte betreffendes anklicken.</center></html>" // Message
, "Bitte w�hlen" // Title in titlebar
, JOptionPane.YES_NO_OPTION // Option type
, JOptionPane.QUESTION_MESSAGE // messageType
, null // Icon (none)
, choices // Button text as above.
, "Anzeigen" // Default button's label
);
switch (response) {
case 0:
try {
new ExcelExport(fc.getSelectedFile().getAbsolutePath()+"\\"+dfPDF.format(date.getTime())+"_Report_Monat.xls", Zeitraum.MONAT, new GregorianCalendar());
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
break;
case 1:
try {
new ExcelExport(fc.getSelectedFile().getAbsolutePath()+"\\"+dfPDF.format(date.getTime())+"_Report_Quartal.xls", Zeitraum.QUARTAL, new GregorianCalendar());
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
break;
case 2:
try {
new ExcelExport(fc.getSelectedFile().getAbsolutePath()+"\\"+dfPDF.format(date.getTime())+"_Report_Jahr.xls", Zeitraum.JAHR, new GregorianCalendar());
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
break;
case 3:
try {
new ExcelExport(fc.getSelectedFile().getAbsolutePath()+"\\"+dfPDF.format(date.getTime())+"_Report_3_Jahre.xls", Zeitraum.DREIJAHRE, new GregorianCalendar());
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
break;
case 4:
try {
new ExcelExport(fc.getSelectedFile().getAbsolutePath()+"\\"+dfPDF.format(date.getTime())+"_Report_5_Jahre.xls", Zeitraum.FUENFJAHRE, new GregorianCalendar());
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
break;
case 5:
try {
new ExcelExport(fc.getSelectedFile().getAbsolutePath()+"\\"+dfPDF.format(date.getTime())+"_Report_10_Jahre.xls", Zeitraum.ZEHNJAHRE, new GregorianCalendar());
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
break;
default:
JOptionPane.showMessageDialog(null,
"Der Report wurde nicht erstellt.",
"Report nicht erstellt.",
JOptionPane.WARNING_MESSAGE);
break;
}
}else{
JOptionPane.showMessageDialog(null,
"Der Report wurde nicht erstellt.",
"Report nicht erstellt.",
JOptionPane.WARNING_MESSAGE);
}
}
};
excelReport.putValue(AbstractAction.SHORT_DESCRIPTION, "Reports in Excel erstellen");
toolBar.add(excelReport);
toolBar.setRollover(true);
toolBar.setFloatable(false);
datToolBar.addSeparator();
datToolBar.add(new JLabel("Suchen nach: "));
tfSuche.setPreferredSize(new Dimension(100, 26));
datToolBar.add(tfSuche);
datToolBar.addSeparator();
datToolBar.add(new JLabel(" Daten Anzeigen von "));
startYearMonth.setPreferredSize(new Dimension(100, 26));
datToolBar.add(startZurueck);
datToolBar.add(startYearMonth);
datToolBar.add(startVor);
datToolBar.add(new JLabel(" bis "));
endYearMonth.setPreferredSize(new Dimension(100, 26));
datToolBar.add(endZurueck);
datToolBar.add(endYearMonth);
datToolBar.add(endVor);
datToolBar.setRollover(true);
datToolBar.setFloatable(false);
//Build Popup Menu
GridBagLayout gblStart = new GridBagLayout();
GridBagConstraints gbcStart = new GridBagConstraints();
gbcStart.fill = GridBagConstraints.HORIZONTAL;
JPanel startPan = new JPanel(gblStart);
startBtnZurueck.putClientProperty("JComponent.sizeVariant", "mini");
startBtnVor.putClientProperty("JComponent.sizeVariant", "mini");
final JLabel startJahr = new JLabel(" "+startCalendar.get(Calendar.YEAR)+" ");
for(int i = 0; i < monatName.length; i++){
startMonBtn.add(new JButton(monatName[i]));
startMonBtn.get(i).putClientProperty("JComponent.sizeVariant", "mini");
}
gbcStart.gridx = 0;
gbcStart.gridy = 0;
startPan.add(startBtnZurueck, gbcStart);
gbcStart.gridx = 1;
gbcStart.gridy = 0;
startPan.add(startJahr, gbcStart);
gbcStart.gridx = 2;
gbcStart.gridy = 0;
startPan.add(startBtnVor, gbcStart);
for(int i = 0; i < monatName.length; i++){
gbcStart.gridx = 0;
gbcStart.gridy = i+1;
gbcStart.gridwidth = 3;
startPan.add(startMonBtn.get(i), gbcStart);
}
SwingUtilities.updateComponentTreeUI(startPan);
startPopup.add(startPan);
startBtnVor.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
startCalendar.set(Calendar.DAY_OF_MONTH, 1);
startCalendar.set(Calendar.YEAR, startCalendar.get(Calendar.YEAR)+1);
startJahr.setText(" "+startCalendar.get(Calendar.YEAR)+" ");
startYearMonth.setText(monatName[startCalendar.get(Calendar.MONTH)]+" "+startCalendar.get(Calendar.YEAR));
if(startCalendar.get(Calendar.YEAR) == endCalendar.get(Calendar.YEAR)){
if(startCalendar.get(Calendar.MONTH) > endCalendar.get(Calendar.MONTH)){
startCalendar.set(Calendar.MONTH, endCalendar.get(Calendar.MONTH));
startYearMonth.setText(monatName[startCalendar.get(Calendar.MONTH)]+" "+startCalendar.get(Calendar.YEAR));
}
}
setCalendarSelectionValues();
}
});
startBtnZurueck.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
startCalendar.set(Calendar.DAY_OF_MONTH, 1);
startCalendar.set(Calendar.YEAR, startCalendar.get(Calendar.YEAR)-1);
startJahr.setText(" "+startCalendar.get(Calendar.YEAR)+" ");
startYearMonth.setText(monatName[startCalendar.get(Calendar.MONTH)]+" "+startCalendar.get(Calendar.YEAR));
setCalendarSelectionValues();
}
});
for(int i = 0; i < monatName.length; i++){
final int j = i;
startMonBtn.get(i).addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
startCalendar.set(Calendar.DAY_OF_MONTH, 1);
startCalendar.set(Calendar.MONTH, j);
startJahr.setText(" "+startCalendar.get(Calendar.YEAR)+" ");
startYearMonth.setText(monatName[startCalendar.get(Calendar.MONTH)]+" "+startCalendar.get(Calendar.YEAR));
setCalendarSelectionValues();
}
});
}
GridBagLayout gblEnd = new GridBagLayout();
GridBagConstraints gbcEnd = new GridBagConstraints();
gbcEnd.fill = GridBagConstraints.HORIZONTAL;
JPanel endPan = new JPanel(gblEnd);
endBtnZurueck.putClientProperty("JComponent.sizeVariant", "mini");
endBtnVor.putClientProperty("JComponent.sizeVariant", "mini");
final JLabel endJahr = new JLabel(" "+endCalendar.get(Calendar.YEAR)+" ");
for(int i = 0; i < monatName.length; i++){
endMonBtn.add(new JButton(monatName[i]));
endMonBtn.get(i).putClientProperty("JComponent.sizeVariant", "mini");
}
gbcEnd.gridx = 0;
gbcEnd.gridy = 0;
endPan.add(endBtnZurueck, gbcEnd);
gbcEnd.gridx = 1;
gbcEnd.gridy = 0;
endPan.add(endJahr, gbcEnd);
gbcEnd.gridx = 2;
gbcEnd.gridy = 0;
endPan.add(endBtnVor, gbcEnd);
for(int i = 0; i < monatName.length; i++){
gbcEnd.gridx = 0;
gbcEnd.gridy = i+1;
gbcEnd.gridwidth = 3;
endPan.add(endMonBtn.get(i), gbcEnd);
}
SwingUtilities.updateComponentTreeUI(endPan);
endPopup.add(endPan);
endBtnVor.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
endCalendar.set(Calendar.DAY_OF_MONTH, 1);
endCalendar.set(Calendar.YEAR, endCalendar.get(Calendar.YEAR)+1);
endCalendar.set(Calendar.DAY_OF_MONTH, endCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));
endJahr.setText(" "+endCalendar.get(Calendar.YEAR)+" ");
endYearMonth.setText(monatName[endCalendar.get(Calendar.MONTH)]+" "+endCalendar.get(Calendar.YEAR));
setCalendarSelectionValues();
}
});
endBtnZurueck.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
endCalendar.set(Calendar.DAY_OF_MONTH, 1);
endCalendar.set(Calendar.YEAR, endCalendar.get(Calendar.YEAR)-1);
endCalendar.set(Calendar.DAY_OF_MONTH, endCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));
endJahr.setText(" "+endCalendar.get(Calendar.YEAR)+" ");
endYearMonth.setText(monatName[endCalendar.get(Calendar.MONTH)]+" "+endCalendar.get(Calendar.YEAR));
if(endCalendar.get(Calendar.YEAR) == startCalendar.get(Calendar.YEAR)){
if(endCalendar.get(Calendar.MONTH) < startCalendar.get(Calendar.MONTH)){
endCalendar.set(Calendar.MONTH, startCalendar.get(Calendar.MONTH));
endYearMonth.setText(monatName[endCalendar.get(Calendar.MONTH)]+" "+endCalendar.get(Calendar.YEAR));
}
}
setCalendarSelectionValues();
}
});
for(int i = 0; i < monatName.length; i++){
final int j = i;
endMonBtn.get(i).addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
endCalendar.set(Calendar.DAY_OF_MONTH, 1);
endCalendar.set(Calendar.MONTH, j);
endCalendar.set(Calendar.DAY_OF_MONTH, endCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));
endJahr.setText(" "+endCalendar.get(Calendar.YEAR)+" ");
endYearMonth.setText(monatName[endCalendar.get(Calendar.MONTH)]+" "+endCalendar.get(Calendar.YEAR));
setCalendarSelectionValues();
}
});
}
//Action Listener ToolBar (Month Chooser)
startYearMonth.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
startPopup.show(startYearMonth, 0, startYearMonth.getHeight());
}
});
startVor.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
startCalendar.set(Calendar.DAY_OF_MONTH, 1);
if(startCalendar.get(Calendar.MONTH) != 11){
startCalendar.set(Calendar.MONTH, startCalendar.get(Calendar.MONTH)+1);
}else{
startCalendar.set(Calendar.YEAR, startCalendar.get(Calendar.YEAR)+1);
startCalendar.set(Calendar.MONTH, 0);
}
startJahr.setText(" "+startCalendar.get(Calendar.YEAR)+" ");
startYearMonth.setText(monatName[startCalendar.get(Calendar.MONTH)]+" "+startCalendar.get(Calendar.YEAR));
setCalendarSelectionValues();
}
});
startZurueck.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
startCalendar.set(Calendar.DAY_OF_MONTH, 1);
if(startCalendar.get(Calendar.MONTH) != 0){
startCalendar.set(Calendar.MONTH, startCalendar.get(Calendar.MONTH)-1);
}else{
startCalendar.set(Calendar.YEAR, startCalendar.get(Calendar.YEAR)-1);
startCalendar.set(Calendar.MONTH, 11);
}
startJahr.setText(" "+startCalendar.get(Calendar.YEAR)+" ");
startYearMonth.setText(monatName[startCalendar.get(Calendar.MONTH)]+" "+startCalendar.get(Calendar.YEAR));
setCalendarSelectionValues();
}
});
endYearMonth.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
endPopup.show(endYearMonth, 0, endYearMonth.getHeight());
}
});
endVor.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
endCalendar.set(Calendar.DAY_OF_MONTH, 1);
if(endCalendar.get(Calendar.MONTH) != 11){
endCalendar.set(Calendar.MONTH, endCalendar.get(Calendar.MONTH)+1);
}else{
endCalendar.set(Calendar.YEAR, endCalendar.get(Calendar.YEAR)+1);
endCalendar.set(Calendar.MONTH, 0);
}
endCalendar.set(Calendar.DAY_OF_MONTH, endCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));
endJahr.setText(" "+endCalendar.get(Calendar.YEAR)+" ");
endYearMonth.setText(monatName[endCalendar.get(Calendar.MONTH)]+" "+endCalendar.get(Calendar.YEAR));
setCalendarSelectionValues();
}
});
endZurueck.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
endCalendar.set(Calendar.DAY_OF_MONTH, 1);
if(endCalendar.get(Calendar.MONTH) != 0){
endCalendar.set(Calendar.MONTH, endCalendar.get(Calendar.MONTH)-1);
}else{
endCalendar.set(Calendar.YEAR, endCalendar.get(Calendar.YEAR)-1);
endCalendar.set(Calendar.MONTH, 11);
}
endCalendar.set(Calendar.DAY_OF_MONTH, endCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));
endJahr.setText(" "+endCalendar.get(Calendar.YEAR)+" ");
endYearMonth.setText(monatName[endCalendar.get(Calendar.MONTH)]+" "+endCalendar.get(Calendar.YEAR));
setCalendarSelectionValues();
}
});
tfSuche.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
tableUpdate();
}
});
setCalendarSelectionValues();
//JMenuBar
JMenuBar menuBar = new JMenuBar();
JMenu menuDatei = new JMenu("Datei");
JMenu menuEintrag = new JMenu("Eintrag");
JMenuItem itemExit = new JMenuItem("Beenden", setImageIcon("/images/icons/16X16/shutdown.png"));
JMenuItem itemBearbeiten = new JMenuItem("Eintrag bearbeiten", setImageIcon("/images/icons/16X16/edit_user.png"));
JMenuItem itemHinzu = new JMenuItem("Eintrag hinzuf�gen", setImageIcon("/images/icons/16X16/add_user.png"));
JMenuItem itemLoeschen = new JMenuItem("Eintrag l�schen", setImageIcon("/images/icons/16X16/delete_user.png"));
JMenuItem itemPrefs = new JMenuItem("Einstellungen", setImageIcon("/images/icons/16X16/advanced.png"));
final String lastChangeDate = "2011-06-16";
//JMenu Mnemonics
menuDatei.setMnemonic(KeyEvent.VK_D);
menuEintrag.setMnemonic(KeyEvent.VK_E);
itemExit.setMnemonic(KeyEvent.VK_B);
itemBearbeiten.setMnemonic(KeyEvent.VK_B);
itemHinzu.setMnemonic(KeyEvent.VK_H);
itemLoeschen.setMnemonic(KeyEvent.VK_L);
itemPrefs.setMnemonic(KeyEvent.VK_E);
//JMenu Actions
Action openInfos = new AbstractAction( "Programminfos", setImageIcon("/images/icons/16X16/knotes.png") ) {
@Override
public void actionPerformed(ActionEvent e) {
UIManager.put("OptionPane.informationIcon", setImageIcon("/images/TRWIcon.png"));
JOptionPane.showMessageDialog(mainFrame,
"<html><h3 align='center'>Dieses Programm dient zur Verwaltung von Adressdaten.</h3>" +
"<p align='center'>Selbiges dient einzig und allein zu <b>Testzwecken.</b><br> </p>" +
"<p align=''center>Die Verbreitung ist nur zu Lernzwecken im Kurs WWI10BVA der DHBW Mannheim gestattet.<br> </p>" +
"<p align='center'><font color='#FF0000'>" +
"F�r Sch�den, die durch diese Software entstehen wird keinerlei Haftung �bernommen.</font><br> </p>" +
"<table align='center' border='0' width='80%'>" +
"<tr>" +
"<td width='30%'>" +
"Autor:" +
"</td>" +
"<td>" +
"TRW Koblenz / Matthias M�ller" +
"</td>" +
"</tr>" +
"<tr>" +
"<td width='30%'>" +
"Letzte �nderung:" +
"</td>" +
"<td>" +
lastChangeDate +
"</td>" +
"</tr>" +
"<tr>" +
"<td width='30%'>" +
"Version:" +
"</td>" +
"<td>" +
"0.02" +
"</td>" +
"</tr>" +
"</table></html>",
"Programminformationen", JOptionPane.INFORMATION_MESSAGE);
}
};
//JMenu Action Listener
itemExit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(JOptionPane
.showOptionDialog(
mainFrame,
"<html>M�chten Sie das Programm wirklich beenden?</html>",
"Programm beenden",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
null, null, null) == 0){
if(SystemTray.isSupported()){
SystemTray.getSystemTray().remove(trayIcon);
}
System.exit(0);
}
}
});
//AddJMenus
mainFrame.setJMenuBar(menuBar);
menuBar.add(menuDatei);
menuDatei.add(openInfos);
menuDatei.add(itemPrefs);
menuDatei.addSeparator();
menuDatei.addSeparator();
menuDatei.add(itemExit);
menuBar.add(menuEintrag);
menuEintrag.add(itemBearbeiten);
menuEintrag.add(itemHinzu);
menuEintrag.addSeparator();
menuEintrag.addSeparator();
menuEintrag.add(itemLoeschen);
//Add Toolbar
JPanel toolPanel = new JPanel(new BorderLayout());
toolPanel.add(toolBar, BorderLayout.CENTER);
toolPanel.add(datToolBar, BorderLayout.LINE_END);
mainFrame.add(toolPanel, BorderLayout.PAGE_START);
// Build the tree table panel
JPanel treeTablePanel = new JPanel( new BorderLayout() );
treeTablePanel.add( new JScrollPane( treeTable ) );
// Add the tabs to the JFrame
mainFrame.add( treeTablePanel, BorderLayout.CENTER );
// Statusbar
statPanel.setBorder(BorderFactory
.createEtchedBorder(EtchedBorder.LOWERED));
statPanel.setLayout(new BorderLayout());
statPanel.add(labStatus, BorderLayout.CENTER);
JPanel sepUhrPanel = new JPanel();
sepUhrPanel.setLayout(new BorderLayout());
JSeparator sep2 = new JSeparator(SwingConstants.VERTICAL);
sepUhrPanel.add(sep2, BorderLayout.LINE_START);
labUhrzeit.setPreferredSize(new Dimension(52, 20));
sepUhrPanel.add(labUhrzeit, BorderLayout.CENTER);
statPanel.add(sepUhrPanel, BorderLayout.LINE_END);
mainFrame.add(statPanel, BorderLayout.SOUTH);
//Listener
treeTable.addTreeExpansionListener(new TreeExpansionListener() {
@Override
public void treeExpanded(TreeExpansionEvent event) {
if(event.getPath().getLastPathComponent() != null && event.getPath().getLastPathComponent().getClass().getSimpleName().equals("MainTreeNode")){
MainTreeNode mainNode = (MainTreeNode) event.getPath().getLastPathComponent();
expandedTreeList.add(mainNode.getPersID());
}
}
@Override
public void treeCollapsed(TreeExpansionEvent event) {
if(event.getPath().getLastPathComponent() != null && event.getPath().getLastPathComponent().getClass().getSimpleName().equals("MainTreeNode")){
MainTreeNode mainNode = new MainTreeNode();
expandedTreeList.remove(mainNode.getPersID());
}
}
});
treeTable.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(e.getButton() == 1 && e.getClickCount() == 1){
if(treeTable.getValueAt(treeTable.getSelectedRow(), 0) != null && treeTable.getValueAt(treeTable.getSelectedRow(), 0).getClass().getSimpleName().equals("MainTreeNode")){
MainTreeNode node = (MainTreeNode) treeTable.getValueAt(treeTable.getSelectedRow(), 0);
labStatus.setText(node.getTooltip());
}else if(treeTable.getValueAt(treeTable.getSelectedRow(), 0) != null && treeTable.getValueAt(treeTable.getSelectedRow(), 0).getClass().getSimpleName().equals("SubTreeNode")){
SubTreeNode node = (SubTreeNode)treeTable.getValueAt(treeTable.getSelectedRow(), 0);
labStatus.setText(node.getTooltip());
}
}else if(e.getButton() == 1 && e.getClickCount() == 2){
try {
if(treeTable.getValueAt(treeTable.getSelectedRow(), 0) != null && treeTable.getValueAt(treeTable.getSelectedRow(), 0).getClass().getSimpleName().equals("MainTreeNode")){
MainTreeNode node = (MainTreeNode) treeTable.getValueAt(treeTable.getSelectedRow(), 0);
new PersonModify(null, node.getPersID(), Status.ANZEIGEN);
}else if(treeTable.getValueAt(treeTable.getSelectedRow(), 0) != null && treeTable.getValueAt(treeTable.getSelectedRow(), 0).getClass().getSimpleName().equals("SubTreeNode")){
SubTreeNode node = (SubTreeNode) treeTable.getValueAt(treeTable.getSelectedRow(), 0);
new PDFExport(node.getGehAusID(), node.getPersID());
}
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
}else if(e.getClickCount() == 1 && e.getButton() == 3){
popMenu = new JPopupMenu();
final int p = treeTable.rowAtPoint(e.getPoint());
buildPopupMenu(p);
popMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
});
//KeyListener
KeyboardFocusManager kbf = KeyboardFocusManager.
getCurrentKeyboardFocusManager();
final KeyEventDispatcher EventDispatcher = new KeyEventDispatcher() {
@Override
public boolean dispatchKeyEvent(KeyEvent e) {
boolean keyUsed = false;
if(e.getID() == KeyEvent.KEY_PRESSED){
if(e.getKeyCode() == 525 && treeTable.getSelectedRowCount() == 1){
popMenu = new JPopupMenu();
int p = treeTable.getSelectedRow();
buildPopupMenu(p);
popMenu.show(treeTable, treeTable.getColumn(0).getWidth()/2, (int) (treeTable.getRowHeight()*(p+0.5)));
}
}
return keyUsed;
}
};
kbf.addKeyEventDispatcher(EventDispatcher);
//Window Listener
mainFrame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
if(showInfo){
JPanel optionPanel = new JPanel(new BorderLayout());
JCheckBox check = new JCheckBox("Diesen Hinwei� weiterhin anzeigen.");
check.setSelected(true);
optionPanel.add(new JLabel("<html>Das Programm bleibt im Tray weiterhin aktiv.<br>"
+ "zum beenden bitte dort auf Programm beenden klicken<br>"
+ "oder im Programm auf Datei - Beenden gehen<br><br><br></html>"), BorderLayout.CENTER);
optionPanel.add(check, BorderLayout.PAGE_END);
JOptionPane
.showMessageDialog(
mainFrame,
optionPanel,
"Programm in Tray ablegen",
JOptionPane.INFORMATION_MESSAGE);
showInfo = check.isSelected();
mainFrame.setVisible(false);
}else{
mainFrame.setVisible(false);
}
}
});
//TrayIcon
if (SystemTray.isSupported()) {
SystemTray tray = SystemTray.getSystemTray();
trayIcon.setImageAutoSize(true);
trayIcon.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(mainFrame.getState() == Frame.ICONIFIED)
mainFrame.setState(Frame.NORMAL);
if(mainFrame.isVisible() == false)
mainFrame.setVisible(true);
mainFrame.toFront();
}
});
//TrayPopupMenu Actions
MenuItem show = new MenuItem("AlMaGe - Gehaltsabrechnung");
show.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(mainFrame.getState() == Frame.ICONIFIED)
mainFrame.setState(Frame.NORMAL);
if(mainFrame.isVisible() == false)
mainFrame.setVisible(true);
mainFrame.toFront();
}
});
MenuItem exit = new MenuItem("Programm beenden");
exit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(JOptionPane
.showOptionDialog(
mainFrame,
"<html>M�chten Sie das Programm wirklich beenden?</html>",
"Programm beenden",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
null, null, null) == 0){
if(SystemTray.isSupported()){
SystemTray.getSystemTray().remove(trayIcon);
}
System.exit(0);
}
}
});
trayPopMenu.add(show);
trayPopMenu.addSeparator();
trayPopMenu.add(exit);
trayIcon.setPopupMenu(trayPopMenu);
tray.add(trayIcon);
}
//Window Preferences
mainFrame.setIconImage(Toolkit.getDefaultToolkit().getImage(GehaltTreeTable.class.getResource("/images/icons/32X32/tray.png")));
mainFrame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );
mainFrame.setTitle("AlMaGe - Gehaltsabrechnug");
mainFrame.pack();
mainFrame.setExtendedState(Frame.MAXIMIZED_BOTH);
mainFrame.setVisible( true );
}
// public static void main( String[] args ) throws AWTException
// {
// try {
// for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
// if ("Nimbus".equals(info.getName())) {
// UIManager.setLookAndFeel(info.getClassName());
// break;
// }
// }
// } catch (Exception e) {
// // TO DO Nimbus not Found, Switch to System-Standard - Design.
// e.printStackTrace();
// }
// new GehaltTreeTable();
// new TimeThread();
// }
private ImageIcon setImageIcon(String ressource){
InputStream stream = this.getClass().getResourceAsStream( ressource );
BufferedImage bImage;
ImageIcon icon;
try {
bImage = ImageIO.read( stream );
icon = new ImageIcon(bImage);
return icon;
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
return null;
}
public static void setTfUhrzeit(String zeit) {
labUhrzeit.setText(zeit);
}
public void buildPopupMenu(int p){
if(treeTable.getValueAt(p, 0) != null && treeTable.getValueAt(p, 0).getClass().getSimpleName().equals("MainTreeNode")){
final MainTreeNode node = (MainTreeNode) treeTable.getValueAt(p, 0);
//Actions
Action show = new AbstractAction(
"Detailansicht �ffnen", setImageIcon("/images/icons/16X16/show_user.png")) {
@Override
public void actionPerformed(ActionEvent e) {
try {
new PersonModify(null, node.getPersID(),
Status.ANZEIGEN);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
}
};
Action bearb = new AbstractAction(
"Mitarbeiter bearbeiten", setImageIcon("/images/icons/16X16/edit_user.png")) {
@Override
public void actionPerformed(ActionEvent e) {
try {
if(!node.isDeleted())
new PersonModify(null, node.getPersID(),
Status.BEARBEITEN);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
}
};
Action loeschen = new AbstractAction(
"Mitarbeiter l�schen", setImageIcon("/images/icons/16X16/delete_user.png")) {
@Override
public void actionPerformed(ActionEvent e) {
try {
new PersonModify(null, node.getPersID(),
Status.LOESCHEN);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
null,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
e1.printStackTrace();
}
}
};
//Add to popupMenue
popMenu.add(show);
if(!node.isDeleted()){
popMenu.add(bearb);
popMenu.add(loeschen);
}
}else if(treeTable.getValueAt(p, 0) != null && treeTable.getValueAt(p, 0).getClass().getSimpleName().equals("SubTreeNode")){
final SubTreeNode node = (SubTreeNode) treeTable.getValueAt(p, 0);
//Actions
Action show = new AbstractAction(
"Abrechnung anzeigen", setImageIcon("/images/icons/16X16/view_text.png")) {
@Override
public void actionPerformed(ActionEvent e) {
new PDFExport(node.getGehAusID(), node.getPersID());
}
};
//Add to popMenue
popMenu.add(show);
}
}
private void setCalendarSelectionValues() {
//Alles aktiv setzen
startBtnVor.setEnabled(true);
startBtnZurueck.setEnabled(true);
for(int i = 0; i < startMonBtn.size(); i++){
startMonBtn.get(i).setEnabled(true);
}
startVor.setEnabled(true);
startZurueck.setEnabled(true);
endBtnVor.setEnabled(true);
endBtnZurueck.setEnabled(true);
for(int i = 0; i < startMonBtn.size(); i++){
endMonBtn.get(i).setEnabled(true);
}
endVor.setEnabled(true);
endZurueck.setEnabled(true);
//Abfragen zum inaktiv setzen
if(endCalendar.get(Calendar.YEAR) == startCalendar.get(Calendar.YEAR)){
startBtnVor.setEnabled(false);
switch(endCalendar.get(Calendar.MONTH)){
case 0:
startMonBtn.get(1).setEnabled(false);
case 1:
startMonBtn.get(2).setEnabled(false);
case 2:
startMonBtn.get(3).setEnabled(false);
case 3:
startMonBtn.get(4).setEnabled(false);
case 4:
startMonBtn.get(5).setEnabled(false);
case 5:
startMonBtn.get(6).setEnabled(false);
case 6:
startMonBtn.get(7).setEnabled(false);
case 7:
startMonBtn.get(8).setEnabled(false);
case 8:
startMonBtn.get(9).setEnabled(false);
case 9:
startMonBtn.get(10).setEnabled(false);
case 10:
startMonBtn.get(11).setEnabled(false);
}
}
if(endMaxCalendar.get(Calendar.YEAR) == endCalendar.get(Calendar.YEAR)){
endBtnVor.setEnabled(false);
switch(endMaxCalendar.get(Calendar.MONTH)){
case 0:
endMonBtn.get(1).setEnabled(false);
case 1:
endMonBtn.get(2).setEnabled(false);
case 2:
endMonBtn.get(3).setEnabled(false);
case 3:
endMonBtn.get(4).setEnabled(false);
case 4:
endMonBtn.get(5).setEnabled(false);
case 5:
endMonBtn.get(6).setEnabled(false);
case 6:
endMonBtn.get(7).setEnabled(false);
case 7:
endMonBtn.get(8).setEnabled(false);
case 8:
endMonBtn.get(9).setEnabled(false);
case 9:
endMonBtn.get(10).setEnabled(false);
case 10:
endMonBtn.get(11).setEnabled(false);
}
}
if(startMinCalendar.get(Calendar.YEAR) == startCalendar.get(Calendar.YEAR)){
startBtnZurueck.setEnabled(false);
switch(startMinCalendar.get(Calendar.MONTH)){
case 11:
startMonBtn.get(10).setEnabled(false);
case 10:
startMonBtn.get(9).setEnabled(false);
case 9:
startMonBtn.get(8).setEnabled(false);
case 8:
startMonBtn.get(7).setEnabled(false);
case 7:
startMonBtn.get(6).setEnabled(false);
case 6:
startMonBtn.get(5).setEnabled(false);
case 5:
startMonBtn.get(4).setEnabled(false);
case 4:
startMonBtn.get(3).setEnabled(false);
case 3:
startMonBtn.get(2).setEnabled(false);
case 2:
startMonBtn.get(1).setEnabled(false);
case 1:
startMonBtn.get(0).setEnabled(false);
}
}
if(startCalendar.get(Calendar.YEAR) == endCalendar.get(Calendar.YEAR)){
endBtnZurueck.setEnabled(false);
switch(startCalendar.get(Calendar.MONTH)){
case 11:
endMonBtn.get(10).setEnabled(false);
case 10:
endMonBtn.get(9).setEnabled(false);
case 9:
endMonBtn.get(8).setEnabled(false);
case 8:
endMonBtn.get(7).setEnabled(false);
case 7:
endMonBtn.get(6).setEnabled(false);
case 6:
endMonBtn.get(5).setEnabled(false);
case 5:
endMonBtn.get(4).setEnabled(false);
case 4:
endMonBtn.get(3).setEnabled(false);
case 3:
endMonBtn.get(2).setEnabled(false);
case 2:
endMonBtn.get(1).setEnabled(false);
case 1:
endMonBtn.get(0).setEnabled(false);
}
}
if((startCalendar.get(Calendar.YEAR) == endCalendar.get(Calendar.YEAR)) && (startCalendar.get(Calendar.MONTH) == endCalendar.get(Calendar.MONTH))){
startVor.setEnabled(false);
}
if((endCalendar.get(Calendar.YEAR) == endMaxCalendar.get(Calendar.YEAR)) && (endCalendar.get(Calendar.MONTH) == endMaxCalendar.get(Calendar.MONTH))){
endVor.setEnabled(false);
}
if((startCalendar.get(Calendar.YEAR) == startMinCalendar.get(Calendar.YEAR)) && (startCalendar.get(Calendar.YEAR) == startMinCalendar.get(Calendar.YEAR))){
startZurueck.setEnabled(false);
}
if((endCalendar.get(Calendar.YEAR) == startCalendar.get(Calendar.YEAR)) && (endCalendar.get(Calendar.MONTH) == startCalendar.get(Calendar.MONTH))){
endZurueck.setEnabled(false);
}
tableUpdate();
}
public static void tableUpdate(){
// treeTableModel = new GeTreeTabelModel(new Date(startCalendar.getTimeInMillis()), new Date(endCalendar.getTimeInMillis()), tfSuche.getText());
// treeTable.setTreeTableModel(treeTableModel);
// mainFrame.repaint();
setTableModel(new GeTreeTabelModel());
if(tableModelThread != null){
tableModelThread.setStartDate(new Date(startCalendar.getTimeInMillis()));
tableModelThread.setEndDate(new Date(endCalendar.getTimeInMillis()));
tableModelThread.setSuche(tfSuche.getText());
}else{
tableModelThread = new GeTreeTableModelThread(new Date(startCalendar.getTimeInMillis()), new Date(endCalendar.getTimeInMillis()), tfSuche.getText());
}
}
public static void setTableModel(GeTreeTabelModel newTreeTableModel){
treeTableModel = newTreeTableModel;
treeTable.setTreeTableModel(treeTableModel);
MainTreeNode mtn;
if(treeTable.getRowCount() >= 0){
for(int i = treeTable.getRowCount()-1; i >= 0; i--){
mtn = (MainTreeNode) treeTable.getValueAt(i, 0);
if(expandedTreeList.contains(mtn.getPersID())){
treeTable.expandRow(i);
}
}
}
mainFrame.repaint();
}
}