@@ -0,0 +1,1280 @@
+package com.annimon.jecp.se;%0D%0A%0D%0Aimport com.annimon.jecp.ApplicationListener;%0D%0Aimport java.awt.event.WindowEvent;%0D%0Aimport java.awt.event.WindowListener;%0D%0Aimport javax.swing.JFrame;%0D%0Aimport javax.swing.WindowConstants;%0D%0A%0D%0A/**%0D%0A *%0D%0A * @author aNNiMON%0D%0A */%0D%0Apublic abstract class JecpApplication extends JFrame implements ApplicationListener, WindowListener %7B%0D%0A    %0D%0A    private final JecpPaintPanel panel;%0D%0A%0D%0A    public JecpApplication(int width, int height) %7B%0D%0A        setLocationByPlatform(true);%0D%0A        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);%0D%0A        %0D%0A        panel = new JecpPaintPanel(this, width, height);%0D%0A        add(panel);%0D%0A        pack();%0D%0A        %0D%0A        onStartApp(width, height);%0D%0A    %7D%0D%0A%0D%0A    @Override%0D%0A    public void windowClosing(WindowEvent e) %7B%0D%0A        onDestroyApp();%0D%0A    %7D%0D%0A    %0D%0A    @Override%0D%0A    public void windowDeactivated(WindowEvent e) %7B%0D%0A        onPauseApp();%0D%0A    %7D%0D%0A    %0D%0A    @Override%0D%0A    public void windowOpened(WindowEvent e) %7B %7D%0D%0A%0D%0A    @Override%0D%0A    public void windowClosed(WindowEvent e) %7B %7D%0D%0A    %0D%0A    @Override%0D%0A    public void windowIconified(WindowEvent e) %7B %7D%0D%0A%0D%0A    @Override%0D%0A    public void windowDeiconified(WindowEvent e) %7B %7D%0D%0A%0D%0A    @Override%0D%0A    public void windowActivated(WindowEvent e) %7B %7D%0D%0A    %0D%0A%7D%0D%0A

Add JecpApplication SE