{"id":455,"date":"2004-02-13T19:04:24","date_gmt":"2004-02-13T10:04:24","guid":{"rendered":"\/?p=455"},"modified":"2004-02-13T19:04:24","modified_gmt":"2004-02-13T10:04:24","slug":"javaxswingjfilechooser","status":"publish","type":"post","link":"https:\/\/www.hiro345.net\/blogs\/hiro345\/archives\/455.html","title":{"rendered":"javax.swing.JFileChooser"},"content":{"rendered":"<p>\u30d5\u30a1\u30a4\u30eb\u53c2\u7167\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u8868\u793a\u3059\u308b\u306b\u306f\u3001javax.swing.JFileChooser, javax.swing.filechooser.FileFilter\u3092\u4f7f\u7528\u3059\u308b\u3002FileFilter\u306b\u306fJFileChooser\u3067\u8868\u793a\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u7d5e\u308a\u8fbc\u3080\u305f\u3081\u306e\u6761\u4ef6\u5224\u5b9a\u51e6\u7406\u3092\u5b9f\u88c5\u3059\u308b\u3002\n<\/p>\n<p>\n\u5c11\u3005\u9577\u3044\u30b5\u30f3\u30d7\u30eb\u3060\u304c\u3001\u91cd\u8981\u306a\u306e\u306fFileFilter\u306e\u5b9f\u88c5\u90e8\u5206\u3067\u3042\u308b\u3002\u4eca\u56de\u306f\u5185\u90e8\u30af\u30e9\u30b9\u3068\u3057\u3066\u7528\u610f\u3057\u305f\u304c\u3001\u4ed6\u3067\u3082\u5229\u7528\u3059\u308b\u306e\u3067\u3042\u308c\u3070\u3001\u3082\u3061\u308d\u3093\u72ec\u7acb\u3057\u305f\u30af\u30e9\u30b9\u3068\u3057\u3066\u7528\u610f\u3059\u308b\u3079\u304d\u3060\u3002\n<\/p>\n<p><!--more--><\/p>\n<div class=\"code\">package org.sssg.four.java.jfilechooser;<\/p>\n<p>import java.awt.event.ActionEvent;<br \/>\nimport java.awt.event.ActionListener;<br \/>\nimport java.io.File;<br \/>\nimport java.util.ArrayList;<br \/>\nimport java.util.Iterator;<br \/>\nimport javax.swing.JButton;<br \/>\nimport javax.swing.JFileChooser;<br \/>\nimport javax.swing.JFrame;<br \/>\nimport javax.swing.filechooser.FileFilter;<\/p>\n<p>public class Starter extends JFrame implements ActionListener {<br \/>\n\tclass SxiFileFilter extends FileFilter {<br \/>\n\t\tprivate String description;<br \/>\n\t\tprivate ArrayList suffixes = new ArrayList();<br \/>\n\t\tpublic SxiFileFilter() {<br \/>\n\t\t\taddType(&#8220;sxi&#8221;);<br \/>\n\t\t\tsetDescription(&#8220;OpenOffice Impress files&#8221;);<br \/>\n\t\t}<br \/>\n\t\tpublic void addType(String s) {<br \/>\n\t\t\tsuffixes.add(s);<br \/>\n\t\t}<br \/>\n\t\tpublic boolean accept(File f) {<br \/>\n\t\t\tif (f.isDirectory()) {<br \/>\n\t\t\t\treturn true;<br \/>\n\t\t\t} else if (f.isFile()) {<br \/>\n\t\t\t\tIterator iterator = suffixes.iterator();<br \/>\n\t\t\t\twhile (iterator.hasNext()) {<br \/>\n\t\t\t\t\tString suffix = (String) iterator.next();<br \/>\n\t\t\t\t\tif (f.getName().endsWith(suffix)) {<br \/>\n\t\t\t\t\t\treturn true;<br \/>\n\t\t\t\t\t}<br \/>\n\t\t\t\t}<br \/>\n\t\t\t}<br \/>\n\t\t\treturn false;<br \/>\n\t\t}<br \/>\n\t\tpublic void setDescription(String s) {<br \/>\n\t\t\tdescription = s;<br \/>\n\t\t}<br \/>\n\t\tpublic String getDescription() {<br \/>\n\t\t\treturn description;<br \/>\n\t\t}<br \/>\n\t}<\/p>\n<p>\tprivate JFileChooser chooser;<br \/>\n\tpublic Starter() {<br \/>\n\t\tsuper(&#8220;\u30d5\u30a1\u30a4\u30eb\u9078\u629e&#8221;);<br \/>\n\t\tchooser = new JFileChooser();<br \/>\n\t\tchooser.addChoosableFileFilter(new SxiFileFilter());<br \/>\n\t\tJButton b = new JButton(&#8220;\u53c2\u7167&#8230;&#8221;);<br \/>\n\t\tb.addActionListener(this);<br \/>\n\t\tgetContentPane().add(b);<br \/>\n\t}<br \/>\n\tpublic void actionPerformed(ActionEvent e) {<br \/>\n\t\tint option = chooser.showOpenDialog(this);<br \/>\n\t\tif (option == JFileChooser.APPROVE_OPTION) {<br \/>\n\t\t\tFile file = chooser.getSelectedFile();<br \/>\n\t\t\tSystem.out.println(<br \/>\n\t\t\t\t(file.isFile() ? &#8220;\u30d5\u30a1\u30a4\u30eb&#8221; : &#8220;\u30c7\u30a3\u30ec\u30af\u30c8\u30ea&#8221;)<br \/>\n\t\t\t\t\t+ &#8220;\u540d:&#8221;<br \/>\n\t\t\t\t\t+ file.getPath()<br \/>\n\t\t\t\t\t+ &#8220;\u304c\u9078\u629e\u3055\u308c\u307e\u3057\u305f\u3002&#8221;);<br \/>\n\t\t} else {<br \/>\n\t\t\tSystem.out.println(&#8220;\u30d5\u30a1\u30a4\u30eb\u306f\u9078\u629e\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002&#8221;);<br \/>\n\t\t}<br \/>\n\t}<\/p>\n<p>\tpublic static void main(String[] args) {<br \/>\n\t\tStarter starter = new Starter();<br \/>\n\t\tstarter.pack();<br \/>\n\t\tstarter.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br \/>\n\t\tstarter.setVisible(true);<br \/>\n\t}<br \/>\n}<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u30d5\u30a1\u30a4\u30eb\u53c2\u7167\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u8868\u793a\u3059\u308b\u306b\u306f\u3001javax.swing.JFileChooser, javax.swing.filechooser.FileFilter\u3092\u4f7f\u7528\u3059\u308b\u3002FileFilter\u306b\u306fJFileChooser\u3067 &hellip; <a href=\"https:\/\/www.hiro345.net\/blogs\/hiro345\/archives\/455.html\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-455","post","type-post","status-publish","format-standard","hentry","category-java"],"_links":{"self":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/comments?post=455"}],"version-history":[{"count":0,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/455\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/media?parent=455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/categories?post=455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/tags?post=455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}