回 帖 发 新 帖 刷新版面

主题:JTextField键盘事件

窗口的上面一个JTextField,下面一个大的JTextArea。希望在JTextField中输入一个数后按回车键,下方的JTextArea显示出这个数的阶乘。
我觉得应该为JTextField添加键盘事件监听器,但发现不起作用。核心代码如下:
txtResult.addKeyListener(new KeyListener(){
    public void keyPressed(KeyEvent event) {
        // TODO Auto-generated method stub
    }
    public void keyReleased(KeyEvent event) {
        // TODO Auto-generated method stub
        int keyCode=event.getKeyCode();
        if (keyCode==KeyEvent.VK_ENTER){
            int n=Integer.parseInt(txtInput.getText());
            txtResult.setText(calcFact(n));
        }
    }
    ....
});

回复列表 (共3个回复)

沙发

对于JTextField,请用:
txtResult.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//计算
}
};
因为JTextField中按回车会直接运行actionListener的.

板凳

再加一个new JButton("计算");  ,让其点button计算!

3 楼

enter比较特殊..

我来回复

您尚未登录,请登录后再回复。点此登录或注册