JFrame - フレーム

トップ > チップス > JFrame - フレーム
2012-02-13, jframe

/tips/java/swing/jframe **フレームにアイコンを設定する ウィンドウの左上隅に表示されるアイコンを設定します。通常、16x16サイズで表示されますが、「Alt+Tab」でウィンドウ一覧を表示した場合など、32x32が必要になる場面もあるため、以下のように複数のサイズを登録しておくと、いつでも綺麗に表示されます。画像の形式としては透過PNGまたはGIFが適しているようです。

:Image icon16 = ImageIO.read(getClass().getResource("/icons/16.png")); :Image icon32 = ImageIO.read(getClass().getResource("/icons/32.png")); :ArrayList list = new ArrayList(); :list.add(icon16); :list.add(icon32); :this.setIconImages(list);

**閉じる前に確認する フレームをそのまま閉じて未保存のデータが消失してしまう恐れがある場合には以下のような実装をします。まず、規定の動作を無効化(DO_NOTHING_ON_CLOSE)し、ウィンドウリスナを追加して必要な場合のみフレームがdisposeされるようにします(disposeではなくSystem.exitが必要なケースもあるかもしれません)。

:setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); :addWindowListener(new WindowAdapter() { : @Override : public void windowClosing(InternalFrameEvent e) { : int res = JOptionPane.showConfirmDialog(MyFrame.this, "保存しますか?"); : if(res == JOptionPane.YES_OPTION){ : // 保存して終了 : save(); : dispose(); : }else if(res == JOptionPane.NO_OPTION){ : // そのまま終了 : dispose(); : } : // キャンセルの場合、何もしない : } :});

この記事は役に立ちましたか?