public void waitForClose() throws InterruptedException { final Object lock = new Object(); Thread t = new Thread() { @Override public void run() { synchronized (lock) { while (viewFrame.isVisible()) { try { lock.wait(); } catch (InterruptedException e) { } } } } }; t.start(); viewFrame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { synchronized (lock) { viewFrame.setVisible(false); lock.notify(); } } }); t.join(); }
public void waitForClose() throws InterruptedException { final Object lock = new Object(); Thread t = new Thread() { @Override public void run() { synchronized (lock) { while (viewFrame.isVisible()) { try { lock.wait(); } catch (InterruptedException e) { } } } } }; t.start(); viewFrame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { synchronized (lock) { viewFrame.setVisible(false); lock.notify(); } } }); t.join(); }
public void waitForClose() throws InterruptedException { final Object lock = new Object(); Thread t = new Thread() { @Override public void run() { synchronized (lock) { while (viewFrame.isVisible()) { try { lock.wait(); } catch (InterruptedException e) { } } } } }; t.start(); viewFrame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { synchronized (lock) { viewFrame.setVisible(false); lock.notify(); } } }); t.join(); }
public void waitForClose() throws InterruptedException { final Object lock = new Object(); Thread t = new Thread() { @Override public void run() { synchronized (lock) { while (viewFrame.isVisible()) { try { lock.wait(); } catch (InterruptedException e) { } } } } }; t.start(); viewFrame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { synchronized (lock) { viewFrame.setVisible(false); lock.notify(); } } }); t.join(); }
public void waitForClose() throws InterruptedException { final Object lock = new Object(); Thread t = new Thread() { @Override public void run() { synchronized (lock) { while (viewFrame.isVisible()) { try { lock.wait(); } catch (InterruptedException e) { } } } } }; t.start(); viewFrame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { synchronized (lock) { viewFrame.setVisible(false); lock.notify(); } } }); t.join(); }
public void waitForClose() throws InterruptedException { final Object lock = new Object(); Thread t = new Thread() { @Override public void run() { synchronized (lock) { while (viewFrame.isVisible()) { try { lock.wait(); } catch (InterruptedException e) { } } } } }; t.start(); viewFrame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { synchronized (lock) { viewFrame.setVisible(false); lock.notify(); } } }); t.join(); }
public void waitForClose() throws InterruptedException { final Object lock = new Object(); Thread t = new Thread() { @Override public void run() { synchronized (lock) { while (viewFrame.isVisible()) { try { lock.wait(); } catch (InterruptedException e) { } } } } }; t.start(); viewFrame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { synchronized (lock) { viewFrame.setVisible(false); lock.notify(); } } }); t.join(); }