package haushalt.gui;
import haushalt.auswertung.domain.HaushaltProperties;
import haushalt.auswertung.domain.MainWindowProperties;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.net.URL;
import java.net.URLClassLoader;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
public class MainWindow {
private final JFrame frame = new JFrame();
private MainWindowProperties properties;
private JTabbedPane tabbedPane;
private ActionHandler actionHandler;
private JTextField status = new JTextField(HaushaltProperties.COPYRIGHT);
private GemerkteBuchungenGlassPane glassPane;
public MainWindow(final MainWindowProperties properties, final JTabbedPane tabbedPane, final ActionHandler actionHandler,final GemerkteBuchungenGlassPane gemerkteBuchungen) {
this.properties = properties;
this.tabbedPane = tabbedPane;
this.actionHandler = actionHandler;
this.glassPane = gemerkteBuchungen;
defineFrame();
}
public void defineMainWindow() {
final Container contentPane = frame.getContentPane();
final int breite = properties.getWidth();
final int hoehe = properties.getHeight();
this.tabbedPane.setPreferredSize(new Dimension(breite, hoehe));
contentPane.add(actionHandler.erzeugeToolBar(), BorderLayout.PAGE_START);
contentPane.add(this.status, BorderLayout.PAGE_END);
}
public void setStatus(final String text) {
status.setText(text);
}
public void setCopyrightText() {
setStatus(HaushaltProperties.COPYRIGHT);
}
/**
* Liefert das Hauptfenster.
*
* @return Hauptfenster
*/
public JFrame getFrame() {
return frame;
}
private void defineFrame() {
this.frame.setIconImage(loadIcon("jhh-icon.gif").getImage());
this.frame.setGlassPane(this.glassPane);
this.frame.setTitle(HaushaltProperties.COPYRIGHT);
this.frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
this.frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(final WindowEvent e) {
//beenden();
}
});
this.status.setEditable(false);
}
private ImageIcon loadIcon(final String dateiname) {
final URLClassLoader urlLoader = (URLClassLoader) getClass().getClassLoader();
final URL fileLoc = urlLoader.findResource("res/" + dateiname);
return new ImageIcon(fileLoc);
}
}