java可以将JTextField中的值强制输入到ValueModel(JGoodies)中吗
我有这个密码:
this.trigger = new Trigger();
this.presentationModel = new PresentationModel(this.personBean, this.trigger);
final ValueModel firstNameAdapter = presentationModel.getBufferedModel("firstName");
final JTextField firstNameTextField = BasicComponentFactory.createTextField(firstNameAdapter);
及
firstNameTextField.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
trigger.triggerCommit();
}
});
因此,当我按下JTextField
上的enter按钮时,我希望ValueModel
类中的值与JTextField
中的值相同。除非我在JTextField
外部单击,然后在JTextField
内部单击,然后按enter键,否则不会发生这种情况。如果我只是输入文本并按enter键,ValueModel
不会得到更新后的值。我被这个问题困住了,有人能帮忙吗
顺便说一句,我首先使用这个链接来计算JGoodies:JGoodies Tutorial
# 1 楼答案
我希望我正确地理解了你的问题
您需要在文本字段中获取文本,并在ValueModel中进行设置
# 2 楼答案
我查看了JGoodies API(应该早点完成),发现了一个意外的静态调用Bindings。立即
如果我在调用触发器之前调用这个方法。triggerCommit(),一切正常:)
# 3 楼答案
创建一个文本字段,在键入的每个键上提交,而不是在焦点丢失时提交:
也应该考虑不要使用缓冲模型来构造程序。我发现它们让事情变得更加复杂和棘手,我想我看到了卡斯滕·伦茨许(Karsten Lentzsch)在邮件列表中建议不要使用它们
对我来说,学习JGoodies最有用的方法是查看JGoodies绑定和验证库的教程代码