package com.floreantpos.ui.dialog; import java.awt.Dialog; import java.awt.Frame; import java.awt.HeadlessException; import java.awt.Window; import javax.swing.JDialog; import javax.swing.JFrame; import com.floreantpos.main.Application; import com.floreantpos.swing.GlassPane; public class POSDialog extends JDialog { protected boolean canceled = true; private GlassPane glassPane; public POSDialog() throws HeadlessException { super(Application.getPosWindow(), true); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); glassPane = new GlassPane(); setGlassPane(glassPane); initUI(); } public POSDialog(Dialog owner, boolean modal) { super(owner, modal); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); glassPane = new GlassPane(); setGlassPane(glassPane); initUI(); } public POSDialog(Dialog owner, String title, boolean modal) { super(owner, title, modal); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); glassPane = new GlassPane(); setGlassPane(glassPane); initUI(); } public POSDialog(Frame owner, boolean modal) throws HeadlessException { super(owner, modal); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); glassPane = new GlassPane(); setGlassPane(glassPane); initUI(); } public POSDialog(Frame owner, boolean modal, boolean unDecorated) throws HeadlessException { super(owner, modal); //setUndecorated(unDecorated); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); glassPane = new GlassPane(); setGlassPane(glassPane); initUI(); } protected void initUI() {} public void open() { canceled = false; if (isUndecorated()) { Window owner = getOwner(); if (owner instanceof JFrame) { JFrame frame = (JFrame) owner; setLocationRelativeTo(frame.getContentPane()); } else { setLocationRelativeTo(owner); } } else { setLocationRelativeTo(getOwner()); } setVisible(true); } public boolean isCanceled() { return canceled; } public void setCanceled(boolean canceled) { this.canceled = canceled; } public void setGlassPaneVisible(boolean b) { glassPane.setVisible(b); } }