2012-02-12 133 views
2

我想创建一个类似于Stackoverflow流'提问'页面中'标签'字段的文本字段。也就是说,每次使用命中选项卡时,前面的文本都被封闭在一个彩色的圆角矩形中,并成为'标记'。Java文本字段点击标签来创建一个标签

我已经开始通过扩展JTextField来做到这一点;然而,这是非常乏味的,特别是因为我在做自定义绘画。

你有什么想法如何解决这个问题?

在此先感谢!

回答

3

在“提问”页面上,文本字段中的文本变成了一个按钮,因此您现在有两个组件。

第一个问题是为什么你会使用tab键进行这个处理。用户将如何移动文本字段。所有的图形用户界面应该设计为便于使用键盘和鼠标。

所以我会从一个包含单个文本字段的JPanel开始。然后当按下“Enter”键时,从文本字段中删除文本,并用文本创建一个JButton,并在面板的位置0处插入按钮。您可以通过将ActionListener添加到文本字段来处理Enter键来执行此处理。

+0

感谢您的回答。 当然,他的tab键不太实际,也许输入或空格键会更有意义。 这不是我遇到麻烦的ActionListener。我已经拥有所有这些功能。我在间距方面遇到了很多麻烦。当我创建标签/ JButton时,它比它替换的纯文本占用更多空间。我的光标必须向前移动才能创建空间等等......而在Java swing中,似乎不允许您从Listener内部编辑文本(它会根据文档创建死锁)。有什么建议么? – klyngbaek 2012-02-13 22:04:24

+0

我给出了解决问题所需的步骤。如果您需要更多帮助,那么您需要发布证明问题的SSCCE,因为我无法猜测您在做什么。 – camickr 2012-02-14 04:29:48