文本未完全显示在JTextField中。

3

他们说一张图片胜过千言万语:

alt text

我想指出这个大小设置是默认的。(在NetBeans中构建) 有什么办法可以解决这个问题吗?

亚当。


它嵌入在JScrollPane中吗? - Nik
你是否在创建框架后更改字体? - Geoffrey Zheng
没有任何字体更改或其他事情发生,就像它看起来的那样...如果有什么需要提到的,我会说的。 - TacB0sS
我重新验证文本字段的容器。 - TacB0sS
图片很好看,但代码也会很棒 :) 你在使用什么布局?什么LAF?什么操作系统?你说大小设置为默认值 - 是文本字段的大小吗?文本字段的内容最初是填充的,还是稍后设置的? - wolfcastle
4个回答

3

如果没有您提供的代码,我会说您的JTextField宽度不够。您可以调整大小,使其足够大以容纳您预期的字符数。

但是,这并不能保证用户不会输入更多的字符,这也会导致文本被截断。

您可以扩展JTextField使用的Document以添加最大字符限制,如http://www.rgagnon.com/javadetails/java-0198.html所示。


我知道我可以手动调整大小,但重点是将文本字段宽度适应其所包含的字符,因此默认值对我来说似乎是正确的方式。底线是默认大小短了两个像素。我不知道为什么。 - TacB0sS

1

你的数据长度是多少?看起来你改变了布局,导致出现了问题,因为边框似乎也占据了字符的一半。


我认为可能是这种情况,有什么办法可以去掉边框吗? - TacB0sS

0
他们说一张图片胜过千言万语:
实际上并不是这样的。当你发布一个问题时,SSCCE比千言万语更有用。
如果你没有使用布局管理器,通常会出现这种情况。假设(因为你没有发布任何代码)你正在使用适当的布局管理器,那么创建一个文本字段以显示3个字符的基本代码如下:
JTextField width = new JTextField(3);

0

这是因为帧被分配了LNF,一旦我改变它,一切都正常工作。


LNF?请你能详细解释一下吗? - Muhammad Noman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接