我有两个jtextfeild(t1,t2)和一个jbutton(b1)......
t1 - 输入 t2-结果 b1 - 行动
我想要做的是如果我输入t1 - >当我打字时,t2答案中的1 + 2应为3。 同时如果我点击按钮,它也应该在t2中显示结果为3 ..
我的问题 - 我可以使用两个事件轻松完成此操作(t1中的按键事件和b1中的actionperformed事件)。但我想要做的是我只需要一个事件,根据要求我不能使用两个事件? Plz可以帮助我吗?
答案 0 :(得分:0)
“如果我输入t1 - > 1 + 2在t2中答案应为3,当我输入”
您可以使用KeyListener
t1.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent e){
int num1 = Integer.parseInt(t1.getText());
int num2 = Integer.parseInt(t1.getText());
tResult.setText(String.valueOf(num1 + num2);
}
})
t2.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent e){
int num1 = Integer.parseInt(t1.getText());
int num2 = Integer.parseInt(t1.getText());
tResult.setText(String.valueOf(num1 + num2);
}
})
每次对文本字段中的任何一个进行更新并更新结果文本字段时,上面将计算
使用一个监听器编辑:
t1.addActionListener(new MyListener());
t2.addActionListener(new MyListener());
button.addActionListener(new MyListener());
private class MyListener implements ActionListener{
public void actionPerformed(ActionEvent e){
int num1 = Integer.parseInt(t1.getText());
int num2 = Integer.parseInt(t1.getText());
tResult.setText(String.valueOf(num1 + num2);
}
}
或者您可以使用Action
Action action = new AbstractAction(){
public void actionPerformed(ActionEvent e){
int num1 = Integer.parseInt(t1.getText());
int num2 = Integer.parseInt(t1.getText());
tResult.setText(String.valueOf(num1 + num2);
}
});
t1.setAction(action);
t2.setAction(action);
button.setAction(action);