TOP →
Java →
Swing →
JFileChooser → This Page
JFileChooser@Swing サンプル08
概要
Java -
Swing -
JFileChooser のサンプルです。
・プレイスバーの表示・非表示
・読み取り専用化
解説
ダイアログのプレイスバーの表示・非表示を切り替えます。
また、ダイアログ内でのフォルダ、ファイルの各種変更操作の有効・無効を切り替えます。
ただし、UIManager で OS 用の見た目に切り替えが必要です。
サンプルイメージ
設定なしで表示した場合。
プレイスバーを非表示にした場合。
サンプルソース
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.BevelBorder;
import javax.swing.border.Border;
import javax.swing.colorchooser.DefaultColorSelectionModel;
/**
* JFileChooser サンプル08
* ・プレイスバーの表示・非表示
* ・読み取り専用化
*
* @author みっちー
*/
public class JFileChooser08 extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
/** ラベル */
private JLabel label = null;
/** チェックボックス */
JCheckBox check1 = null;
JCheckBox check2 = null;
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException | UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
JFileChooser08 frame = new JFileChooser08();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("JFileChooser サンプル08");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 480, 150);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public JFileChooser08() {
// パネルを作成
JPanel panelBase = new JPanel();
DefaultColorSelectionModel mode = new DefaultColorSelectionModel();
mode.setSelectedColor(Color.RED);
// ボタン作成
JButton button = new JButton("Files Open");
// ラベル
label = new JLabel();
Border border = new BevelBorder(BevelBorder.LOWERED);
label.setBorder(border);
label.setPreferredSize(new Dimension(420, 30));
// チェックボックス
check1 = new JCheckBox("プレイスバーを表示");
check2 = new JCheckBox("読み取り専用");
// アクションリスナー追加
button.addActionListener(this);
// ボタン等を追加
panelBase.add(button);
panelBase.add(label);
panelBase.add(check1);
panelBase.add(check2);
// パネルを追加
getContentPane().add(panelBase);
}
/**
* アクション
*/
public void actionPerformed(ActionEvent e) {
// 複数ファイルを選択
UIManager.put("FileChooser.noPlacesBar", check1.isSelected() ? true : false);
UIManager.put("FileChooser.readOnly", check2.isSelected() ? true : false);
JFileChooser fc = new JFileChooser();
int selected = fc.showOpenDialog(this);
if (selected == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
label.setText(file.getAbsolutePath());
}
}
}
サンプルソースのダウンロード
ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)
更新履歴
2016/05/13 新規作成
TOP →
Java →
Swing →
JFileChooser → This Page