你好:如何为JTextField添加AutoComplete字符串,从Jtable列中获取自动complte列表。JTextField自动完成
JTextField textfield = new JTextField();
JTable table =new JTable();
你好:如何为JTextField添加AutoComplete字符串,从Jtable列中获取自动complte列表。JTextField自动完成
JTextField textfield = new JTextField();
JTable table =new JTable();
正如How to Use Tables, Concepts: Editors and Renderers讨论的,表的默认渲染器是一个JLabel
,默认编辑器是一个JTextField
。您需要提供一个自定义编辑器,该编辑器使用适用于您的目标域的algorithm,如here所述执行。
SwingX库有一个非常方便的AutoCompleteDecorator函数。
假设您将JTable列的值复制到名为validValues的ArrayList中。你现在需要对JTextField的myTextField将自动完成如下代码:
AutoCompleteDecorator.decorate(myTextField, validValues, true);
第三个参数告诉自动完成装饰是否要严格匹配,即用户是否被允许进入之外的其他值的JTable列与否。
swingx的唯一问题是,你只有一个结果(失败).. – 2012-02-07 03:23:27
你是什么意思? – 2012-02-07 19:25:39
@SmartyTwiti:你好我的朋友,有什么想法我可以让'swingX'让我获得不止一个结果?它只允许我一次自动完成,而且我需要更多。谢谢 ! – ron 2012-06-07 00:22:47
+1 http://www.java2s.com/Code/Java/Swing-Components/AutocompleteComboBox.htm – mKorbel 2012-01-01 22:14:02
另请参见@ mKorbel的相关[示例](http://stackoverflow.com/search?q=user% 3A714968 +%5Bjava%5D +自动完成)。 – trashgod 2012-01-01 23:57:19