2011-09-29 95 views
0

最初,鼠标悬停时光标变为i-bar,但在单击一个按钮(基本上在JTextField上调用setEnabled(false),然后setEnabled(true))后,光标doe不会更改为鼠标悬停JTextField上的i-bar。鼠标悬停时,光标不会更改为I-bar JTextField

可能是什么原因?任何帮助或提示正确的方向是最受欢迎的。

重点也存在于这两种情况。

回答

1

尝试使用setEditable(true)/setEditable(false)而不是setEnabled

因此,JTextField仍然是可以聚焦的,它的内容可以被复制到剪贴板中,这在禁用时是不可能的。这就是为什么不显示I光标的原因(因为您无法选择字段内容)。

编辑(后OP评论):

我试图模仿你所描述的,但它完美地工作:我有一个JTextField和2个按钮(一个推动因素,一个功能停止);无论操作如何,当字段启用时,光标始终具有正确的形状。

我已经在Windows上测试了这个行为,Java6 64位,默认LAF。

你绝对应该发布一个片段,可以展示问题,并告诉你更多关于你的环境。

+0

谢谢,但我想在这里说的是,来自textfield的值用于在BTN(排序查询BTN)上点击一些其他操作(显示相关数据),在此期间禁用包含jtextfield的面板(不应该被编辑)并且点击另一个BTN(返回)时,jtextfield将被再次启用。但是在这个操作循环之后,鼠标移动jtextfield上的光标不会变为i-bar。 –

+0

嘿,无论如何感谢回复 –

+0

我不明白 - 什么其他含义可以setEnabled()结果? –