gpt4 book ai didi

java - 关于 bufferedModels 和键盘输入的 JGoodies Binding bug 问题

转载 作者:行者123 更新时间:2023-11-30 05:07:04 24 4
gpt4 key购买 nike

我在 JTextField 上使用 JGoodies Binding,如下所示:

    trigger = new Trigger();

PresentationModel<SpectralControlsModel> adapter = new PresentationModel<SpectralControlsModel>(model, trigger);

ValueModel valueModelStartingSampleJTextField = adapter.getBufferedModel("startingSample");
startingSampleJTextField = BasicComponentFactory.createLongField(valueModelStartingSampleJTextField);
setupValueModelListener(valueModelStartingSampleJTextField, startingSampleJTextField);

我在 JTextField 上有一个 keyListener,当按下“enter”键时,它会将数据提交到模型。

问题是,当我在 JTextField 中输入新数字并按 Enter 键时,即使我调用trigger.triggerCommit(),模型也会获取旧值。如果我输入一个新数字,然后单击其他内容,失去对 JTextField 的焦点,然后再次获得焦点,则新值将按预期出现在模型中。

如果我描述的问题足够清楚,请告诉我,这是非常奇怪的行为,我需要弄清楚它的真相,谢谢。

更新我去了这个Java2s.com JGoodies Example并添加了以下代码:

firstNameTextField.addActionListener(new ActionListener() 
{
@Override
public void actionPerformed(ActionEvent e)
{
trigger.triggerCommit();
}
});

当我在调试打开的情况下按下回车按钮时,actionListener 会像按下“提交缓冲区”按钮时一样触发,但当我显示值时不会提交任何内容。我对此感到非常困惑。必须有一种方法让 JGoodies 使用键盘输入。我不必单击 JTextField 即可让文本到达值模型。

最佳答案

I have a keyListener on the JTextField that commits data to the model when the "enter" key is pushed.

可能与您的问题无关,但您应该使用 ActionListener 来处理 Enter 键,而不是 KeyListener。

关于java - 关于 bufferedModels 和键盘输入的 JGoodies Binding bug 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4717450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com