Java文件选择器中的自动完成

我正在寻找一种在Java文件选择器对话框中添加自动完成功能的方法。似乎Java Swing JFileChooser不支持它。我找到的唯一选择是gtk FileChooser我很乐意是否存在任何其他选择。     
已邀请:
如果有人添加了自动功能,那么他/她必须访问文本字段,但这在正常情况下是不可能的.. 有一种hack是搜索所有组件然后找到textfield的实例并返回它。 这是代码..
private  JTextField dis(JFileChooser jf) {
    boolean hide =false;
    LinkedList<Component> queue = new LinkedList<Component>();
    queue.add(jf);
    JTextField jtf=new JTextField();
    while(queue.size() != 0) {
        Component[] c = ((Container) queue.removeFirst()).getComponents();   
        for(int i = 0; i < c.length; i++) {                        
            queue.add(c[i]);    

            if(c[i] instanceof JTextField) {
                jtf = (JTextField) c[i];
                jtf.setVisible(true);
                jtf.setEnabled(true);
                jtf.setText(" hello ");
                return jtf;
            }


    }           
}


return jtf;
} 这是扩展应用自动完成的JFileChooser的类的链接 http://commondatastorage.googleapis.com/holyvincent/FileChooser/VinFC.java 请报告扩展类中是否存在错误。 谢谢     
另一种方法是使用SWT的FileDialog - 它使用本机操作系统文件对话框(例如Linux上的GTK),因此您可以获得用户从其操作系统中获得的完全相同的行为。这包括Linux / GTK和Mac上的自动完成功能(我不知道,如果Windows也提供了这一功能吗?) 我完全不确定是否值得为此目的包含SWT,但我想提一下这个替代方案。     
如何实现自己的FileChooser,你可以在文件选择器中保存文件路径+文件名的TextField中添加一个
DocumentListener
。不确定你是否可以用
JFileChooser
完成上述操作。如果您希望获得文件选择器的行为以匹配默认的JFileChooser以及添加的自动完成功能,那么将会有大量代码。     

要回复问题请先登录注册