package hu.elte.inf.pszt.prt.javalib.swingapp;

import java.awt.BorderLayout;
import java.awt.event.*;
import javax.swing.*;

/** @author lengyel zsolt
 */
public abstract class ElteJFrame extends JFrame implements ElteJFramable {

private WindowListener elteWindowListener = null;

protected ElteJFrame() {
  super();
}

@Override
public final void registerWindowAdapter() {
  if (elteWindowListener == null) {
    elteWindowListener = new WindowAdapter() {
    @Override
    public void windowClosing(WindowEvent e) {
      ElteJFrame.this.onWindowClosing();
    }
    };
    addWindowListener(elteWindowListener);
  }
}

@Override
public void onConfigLoad() {
}

@Override
public void onShow() {
  setVisible(true);
}

@Override
public void onWindowClosing() {
  System.exit(0);
}

protected void setDefaults(String title) {
  setTitle(title);
  setLocation(40, 50);
  setSize(600, 400);
  setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  setJMenuBar(createJMenuBar());
  setLayout(new BorderLayout());
}

@Override
public JMenuBar createJMenuBar() {
  return null;
}
}
