Java 根据其他jTextFields值实时更新jTextField?

Java 根据其他jTextFields值实时更新jTextField?,java,jtextfield,Java,Jtextfield,我有一个简短的问题要问 问题是我需要一个jTextField来根据用户在其他3个jTextField中的输入更新其值。 一个txtfield是“idQuarto”,这基本上是我知道房间价格的方式。 其他TXT字段是日期(签入和签出),我计算它们之间的天数 这是我需要帮助的地方,textfield(Total)是我希望它根据用户输入的日期和房间id进行更新的地方。(id四分之一*天的价格) 以下是该节目的图片: 希望大家都明白我的意思 谢谢。尝试在文本字段中添加一个keyAdapter,向更新方法

我有一个简短的问题要问

问题是我需要一个jTextField来根据用户在其他3个jTextField中的输入更新其值。 一个txtfield是“idQuarto”,这基本上是我知道房间价格的方式。 其他TXT字段是日期(签入和签出),我计算它们之间的天数

这是我需要帮助的地方,textfield(Total)是我希望它根据用户输入的日期和房间id进行更新的地方。(id四分之一*天的价格)

以下是该节目的图片:

希望大家都明白我的意思


谢谢。

尝试在文本字段中添加一个
keyAdapter
,向更新方法发送消息,如下所示

A=newjtextfield();
A.addKeyListener(新的KeyAdapter(){
按下公共无效键(KeyEvent arg0){
updateField();
}
});

在本例中,每当使用适配器在文本字段中键入一个键时,它都会调用updateField()方法

这是我需要帮助的地方,textfield(Total)是我希望它根据用户输入的日期和房间id进行更新的地方。(id四分之一*天的价格)

FocusListener
会在失去或获得焦点时触发,这比
keystener
要好

FocusAdapter updateTotalFocusAdapter = new FocusAdapter() {
    @Override
    public void focusLost(FocusEvent arg0) {
         totalTextField.setText([Price of ID Quarto * Days]);
    }
};

checkInDateTextField.addFocusListener(updateTotalFocusAdapter);
checkOutDateTextField.addFocusListener(updateTotalFocusAdapter);
idQuartoTextField.addFocusListener(updateTotalFocusAdapter);

-1、不要使用KeyListener。使用Swing时,可以使用
DocumentListener
。DocumentListener是一个更高级别的API,如果可用,应该在低级别API之上使用。有关更多信息,请阅读Swing教程中关于[如何编写DocumentListener]()的部分。此外,您的建议无论如何也不会起作用,因为调用keyPressed()方法时文档尚未更新。