【发布时间】:2020-12-06 01:59:19
【问题描述】:
我有一个 JPanel,其中包含许多长度限制为几个字符的 JTextField(由自定义 PlainDocument 实现)。
我想在面板的左上角显示一个红色字体的文本,上面写着“**字段最多允许 20 个字符!”。
到目前为止,我正在考虑的两个选项是添加 TitledBorder 或 JLabel。最好的方法是什么?
谢谢。
【问题讨论】:
-
由自定义 PlainDocument 实现)。 - 不要使用 PlainDocument。那是一种古老的方法。对于 Swing,您应该使用
DocumentFilter。阅读 Implementing a DocumentFilter 上的 Swing 教程中的部分,以获得完全符合您要求的工作示例。我也不知道你为什么需要。我在使用网络时填写的表格上看不到这一点。当您达到最大值时,DocumentFilter 会发出“哔”声。但在这两种选择中,我会使用 JLabel。 -
谢谢。我提议弹出一个警告对话框,其中包含一条明确的消息,说明字符数有限制。哔哔声被认为令人困惑。那么,您是否建议我使用 DocumentFilter 而不是 PlainDocument 来实现文本字段的固定长度验证规则?
-
最好的方法是满足您的需求并完成您想要的工作。您“可能”通过多种方式实现这一目标,for example 采用不同的方法。
标签: java swing jpanel jlabel jtextfield