ソフトウェア
めもりーくりーなー Winのメモリーをお掃除するソフト
 
小説推敲補助ソフト「Novel Supporter
 
PCソフト 便利なソフトを100本近く公開
 
Webサービス 便利で楽しいサービス多数
ゲーム
TinyWar high-speed 1ステージ数分の、8bit風RTS。
 
EX リバーシ 変形盤面のリバーシ。ステージ多数。成績投稿可能。
 
PuzzleAndGame.com ブラウザで遊べるパズルやゲーム

クロクロ ショップ 本、ゲーム、同人誌他を販売

クロクロ ツールズ 便利なWebアプリを多数収録
同人活動
るてんのお部屋 コミケなどで活動(DL販売
 

「JFileChooser」のコンテキストメニューに独自メニューを追加する方法

no link
2011/07/06(水) 14:07:46
 Javaの「JFileChooser」では、ファイル選択領域で右クリックをすると、コンテキストメニューがポップアップ表示されます。

 このメニューは、JPopupMenuを利用したものなので、そのコンポーネントを取得してJMenuItemを追加すれば、独自メニューを追加できます。

 この方法を昨日ネットで調べていたのですが、どうも上手い方法が見つからなかったので、自分でプログラムを書きました。

 というわけで、以下にその方法を書いておきます。ここでは、「エクスプローラーで開く」というメニューを追加します。現在開いているフォルダを、Windowsのエクスプローラーで開くことができます。

JFileChooser拡張

 以下、ソースコードを掲載しておきます。



JFileChooser flChsr = new JFileChooser(){
 private static final long serialVersionUID = 1L;
 {
  // メニューの拡張

  // JPopupMenuの探索
  Component[] c1 = getComponents();
  JPopupMenu popMn = null;
  outer:
  for (int i = 0; i < c1.length; i ++) {
   if (c1[i].getClass().getName().equals("javax.swing.JPanel")) {
    Component[] c2 = ((JPanel)c1[i]).getComponents();
    for (int j = 0; j < c2.length; j ++) {
     popMn = ((JPanel)c2[j]).getComponentPopupMenu();
     if (popMn != null) break outer;
    }
   }
  }

  // JPopupMenuにJMenuItemを追加
  if (popMn != null) {
   // セパレータ追加
   popMn.addSeparator();

   // エクスプローラーで開くメニュー
   JMenuItem mnItmOpn = new JMenuItem("エクスプローラーで開く");
   mnItmOpn.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent actionevent) {
     try {
      // 開く処理
      Desktop desktop = Desktop.getDesktop();
      desktop.open(getCurrentDirectory());
     } catch (Exception e) {
      e.printStackTrace();
     }
    }
   });
   popMn.add(mnItmOpn);
  }
 }
};
最新20件 (全て見る)

柳井が執筆した本や商品 他

レトロゲームファクトリー
過去のゲームを最新機用に移植する会社のお仕事小説。新潮社より発売中。 詳細ページ
#電書ハック
電子書籍編集部のお仕事小説。文藝春秋より発売中。 詳細ページ
顔貌売人
ハッカー探偵 鹿敷堂桂馬

シリーズ第2弾。文藝春秋より発売中。 詳細ページ
裏切りのプログラム
ハッカー探偵 鹿敷堂桂馬

松本清張賞の最終候補に残った拙作小説(デビュー作)。 詳細ページ
マンガでわかるJavaScript
マンガと解説で学べるJavaScriptのプログラム参考書。
詳細ページ
プログラマのためのコードパズル~JavaScriptで挑むコードゴルフとアルゴリズム
コードゴルフやアルゴリズム問題、その解説、関連知識の紹介を行った本です。
詳細ページ

サイト目次

PCソフト/Webアプリ/ゲーム

記事/マンガ

柳井の同人活動

開発

携帯・スマホ

アナログ・ゲーム

 
Cronus Crown(クロノス・クラウン)のトップページに戻る
(c)2002-2019 Cronus Crown (c)1997-2019 Masakazu Yanai
ご意見・お問い合わせはサイト情報 弊社への連絡までお願いします
プライバシーポリシー