001package com.ganteater.ae.desktop.ui; 002 003import java.awt.Component; 004import java.awt.event.WindowAdapter; 005import java.awt.event.WindowEvent; 006 007import javax.swing.JDialog; 008import javax.swing.JFrame; 009 010import com.ganteater.ae.desktop.util.UIUtils; 011 012public class DialogFrame extends JDialog { 013 014 private static final long serialVersionUID = 1L; 015 016 public DialogFrame(JFrame frame, String title, Component comp) { 017 this(frame, title); 018 getContentPane().add(comp); 019 pack(); 020 } 021 022 public DialogFrame(JFrame frame, String title) { 023 super(frame, title); 024 setIconImage(AEFrame.getIcon(AEFrame.ICON16_JPG).getImage()); 025 026 setAlwaysOnTop(true); 027 addWindowListener(new WindowAdapter() { 028 @Override 029 public void windowClosing(WindowEvent e) { 030 UIUtils.saveDialogPreferedView(DialogFrame.this, title); 031 } 032 033 @Override 034 public void windowDeactivated(WindowEvent e) { 035 UIUtils.saveDialogPreferedView(DialogFrame.this, title); 036 } 037 }); 038 039 } 040 041 public void showFrame() { 042 UIUtils.applyPreferedView(this, getTitle(), 400, 600); 043 setVisible(true); 044 if (!isAlwaysOnTop()) { 045 setAlwaysOnTop(true); 046 setAlwaysOnTop(false); 047 } 048 } 049}