2012-04-27 85 views
0

我正在开发一个项目,我需要实现一个提供“自动完成多选”功能的组件。java(自动完成)textfield中的多个选择/值

当然,我读了很多教程,并查看了很多示例,但是我没有找到任何解决我的问题的方法。在最后的日子里,我寻寻觅觅,终于我见过的最好的部分是这样的一个:当你问一个新的问题,并有指定标签

Primefaces autocomplete multiple selection

#2支持这种功能,以及你想。 但这是CSS和Java不能处理“复杂”的CSS样式表。 :/

所以,我想知道这是否可以用纯Java完成。

如果不是,那么包含不同组件的文本字段(或其他字段?)就足够了,以分离不同的输入,如图所示。这正是我需要的。

,其中包括可以通过点击“X”

被删除,但我不知道这是否可以使用Java来解决组件的字段。 我需要一种方法来分隔文本框(或其他组件)中的不同输入,例如在文本周围添加边框。 听起来很简单,但我想它可能非常棘手。 。 。

有没有人有任何建议?或想法如何我可以解决我的问题? 我真的很感激它,因为我用完了想法。

URL到PrimeFaces:http://www.primefaces.org/showcase-labs/ui/autoCompleteMultiple.jsf

扬K.

+0

Prime Faces解决方案如何不足? – 2012-04-27 16:27:15

+0

我没有使用PrimeFaces。只是与Swing合作..并想知道我是否可以使用纯Java(没有html/css/js ..)构建类似的字段,以便在我的桌面应用程序中使用它。 – 2012-04-27 16:36:06

回答

0

爱丽丝仙境的摆动演示介绍中的JTextPane/JEditorPane中的组件。在空格前添加一个可点击的图像并进行一些着色可能就足够了。

另一种方法是在面板等编辑框中添加一个组件列表,其中最后是一个空格/焦点丢失的JTextField变成蓝色组件,并创建一个新的JTextField。

+0

我希望避免这种解决方案。首先,我需要一个JPanel。该面板中的第一个组件是“带自动完成功能的TextField”。当选择一个列表元素(保存) - 在这个面板内创建一个新的组件(例如JLabel)。 是否存在“更容易”的解决方案?手动构建一切将是我最糟糕的情况。 – 2012-04-27 18:13:55

+0

你有一个非常特殊的场景。我希望别人遇到一些解决方案,但这通常是DIY。 – 2012-04-27 22:01:31

+0

我希望有人做了类似的事情,因为这是一个非常好的功能。或者是否有人可以给我一些想法如何实现它。 Acute我有一个JPanel。在这个JPanel中,有一个带有自动完成功能的文本框,您可以在其中选择jlist中的元素。当你选择一个元素时,它会出现在JPanel的按钮中。只需按下按钮即可删除元素。 此解决方案是一个迂回的方式。 – 2012-04-29 11:25:26