/** * */ package org.eurocarbdb.application.glycoworkbench; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.io.IOException; import javax.swing.SwingUtilities; import org.pushingpixels.substance.api.SubstanceLookAndFeel; public class GwbWindowListener implements WindowListener{ @Override public void windowActivated(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowClosed(WindowEvent arg0) { // TODO Auto-generated method stub Object source=arg0.getSource(); if(source instanceof GlycoWorkbench){ GlycoWorkbench gwb=(GlycoWorkbench) source; boolean restart=gwb.restart; String skin=gwb.skin; if(restart){ synchronized(GlycoWorkbench.lock){ gwb.removeWindowListener(this); gwb.dispose(); gwb=null; System.gc(); System.runFinalization(); //GlycoWorkbench.done=1; //SubstanceLookAndFeel.setSkin(skin); //SwingUtilities.invokeLater((new Runnable(){ //public void run(){ //GlycoWorkbench gwb1; //try { // gwb1 = new GlycoWorkbench(); // gwb1.setVisible(true); // gwb1.addWindowListener(new GwbWindowListener()); // System.err.println("here"); // } catch (IOException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } //} //})); System.err.println("Restart"); } }else{ System.err.println("Closing"); } } System.err.println("Window closed"); } @Override public void windowClosing(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowDeactivated(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowDeiconified(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowIconified(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowOpened(WindowEvent arg0) { // TODO Auto-generated method stub } }