-- 作者:ana
-- 发布时间:5/23/2005 9:10:00 PM
-- [color=#00FF99]有谁知道XmlFileFilter()是在JAVA那个类库中的[/color]
我现在在做做一个XML的解析器,在网上发现了一个例子,不过发现其中有一个XmlFileFilter(),由于不知道引用的类库,所以编译的时候JBUILDER不能识别 请问那位大虾知道? 下面是节选的说明 构建文件系统存取组件件系统存取组件 这个Java应用程序常常需要允许用户通过一个图形化文件系统浏览程序访问文件系统。典型情况下,这是因为用户想要打开或保存一个组件或文件。在我们的XmlEditor应用程序中,我们想要用户能够做到这些。 为了访问基本文件系统,javax.swing包中有一个非常好的组件:JFileChooser组件。无疑,在利用 JFileChooser组件之前你已经使用一个 Swing应用程序。 为了创建一个JFileChooser,你要先实例化一个 JFileChooser对象,设置它的大小然后声明它要么用于打开文件要么用于保存文件。你要把这个对象和它的父对象-用来激活它的对象 (在我们的例子中是一个菜单项)联系起来,然后把它要么设置为打开对话框或者保存对话。为了做到这点,你要使用showSaveDialog()或 showOpenDialog()方法,两个都返回一个int类型的返回值。 下面是一个简短的例子: JFileChooser jfc = new JFileChooser(); jfc.setSize( 500, 250 ); Container parent = openItem.getParent(); int choice = jfc.showOpenDialog(parent); 最后一行返回的整数值指出用户最后到底是打开/保存一个文件还是按下取消按钮。为了响应打开/保存事件,可以把这个整数值定义在 JFileChooser类中的 APPROVE_OPTION常数比较。此时,你只须使用适当的方法打开/保存用户请求的文件。 代码: class openMenuHandler implements ActionListener { JFileChooser jfc; Container parent; int choice; openMenuHandler() { super(); jfc = new JFileChooser(); jfc.setSize( 400,300 ); jfc.setFileFilter( new XmlFileFilter() ); parent = openItem.getParent(); } public void actionPerformed( ActionEvent ae ) { choice = jfc.showOpenDialog( parent ); if ( choice == JFileChooser.APPROVE_OPTION ) { String fileName, line; BufferedReader reader; fileName = jfc.getSelectedFile().getAbsolutePath(); t ry { reader = new BufferedReader(new FileReader( fileName ) ); textArea.setText( reader.readLine() + " " ); while ( ( line = reader.readLine() ) != null ) { textArea.append( line + " " ); } reader.close(); xTree.refresh( textArea.getText() ); } catch ( Exception ex ) { String message = ex.getMessage(); ex.printStackTrace(); } jfc.setCurrentDirectory( new File( fileName ) ); } } }
|