<!--
 Copyright (c) 2007 Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

 This code is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License version 2 only, as
 published by the Free Software Foundation.

 This code is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 version 2 for more details (a copy is included in the LICENSE file that
 accompanied this code).

 You should have received a copy of the GNU General Public License version
 2 along with this work; if not, write to the Free Software Foundation,
 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 or visit www.oracle.com if you need additional information or have any
 questions.
-->

<html>
<!--  
  @test
  @bug 4934185
  @summary JCK1.5-runtime-interactive: XToolkit FileDialog does not work as expected
  @author Dmitry.Cherepanov area=awt.filedialog
  @run applet/manual=yesno RegexpFilterTest.html
  -->
<head>
<title> RegexpFilterTest </title>
</head>
<body>

<h1><br>Bug ID: </h1>

<p> See the dialog box (usually in upper left corner) for instructions</p>

<APPLET CODE="RegexpFilterTest.class" WIDTH=200 HEIGHT=200></APPLET>
</body>
</html>
