我遇到了Mac OS X上看起来不同的JTextField.requestFocus()行为问题.
这是我的情况:我有一个带有JList和JTextField的对话框.用户应该在文本字段中编写布尔表达式,该列表包含可能在表达式中输入的所有变量的名称.由于用户需要在单击列表中的变量后继续输入表达式,因此程序会有助于调用JTextField.requestFocus().这样你就可以点击列表中的“pvalue”,然后输入“< 0.05”而不需要点击其间的文本字段. 这一切都在我的开发机器(Linux)上工作正常,但是我从Mac用户那里得到了一个错误报告,点击列表实际上选择了文本字段中的所有文本,这样就很容易意外地覆盖之前输入的内容.
我怀疑这是Mac外观的一个问题,经过一些搜索似乎确实有一个“Quaqua.TextComponent.autoSelect”属性的mac外观似乎与这个问题有关: http://www.randelshofer.ch/quaqua/guide/jtextcomponent.html
我的一般问题是:
>你能为这个问题建议一个解决方法吗?
如果过于宽泛,这些子问题的答案已经是一个很大的帮助:
>一种可能的解决方案是更改属性“Quaqua.TextComponent.autoSelect”.我怎么做?
>我甚至不确定“Quaqua”是什么.它看起来像是一个定制的外观和感觉. Mac OS X的默认外观是什么?它是否具有类似于Quaqua.TextComponent.autoSelect的属性?
>是否有可能仅调整单个组件实例的外观?如果是这样,怎么样?
>是否可以在我的Linux开发机器上设置Mac外观,以便我可以实际确认这个错误(以上所有内容都是基于预感和怀疑)?如果是这样,怎么样?