3 import java.awt.Dialog.ModalityType;
\r
4 import java.awt.Frame;
\r
6 import javax.swing.JDialog;
\r
7 import javax.swing.SwingWorker;
\r
10 * {@link Locker}を{@link SwingWorker}をつかって実装
\r
13 public class SwingLocker extends Locker {
\r
16 private static Frame ownerframe = null;
\r
17 public static void setOwner(Frame owner) { ownerframe = owner; }
\r
19 private JDialog dialog;
\r
22 public void unlock() {
\r
23 dialog.setVisible(false);
\r
27 public boolean waitfor() {
\r
28 dialog.setVisible(true);
\r
32 public SwingLocker() {
\r
36 if ( ownerframe != null ) {
\r
37 dialog = new JDialog(ownerframe); // フォーカスが移動してしまうのが難
\r
40 dialog = new JDialog();
\r
42 //dialog.setModal(true); // モーダル
\r
43 dialog.setModalityType(ModalityType.DOCUMENT_MODAL); // 親しかブロックしないモーダル
\r
44 dialog.setUndecorated(true); // 見えないダイアログ
\r
45 dialog.setBounds(0,0,0,0);
\r
46 dialog.setEnabled(false);
\r