看一下这个Java程序,最后为什么会重复输出字母

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class XiTi9_7 extends JFrame
{
JTextField text=new JTextField(10);
public static void main(String[] args)
{
XiTi9_7 frm=new XiTi9_7("Keyboard");
frm.setBounds(100,100,200,100);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setVisible(true);
}
XiTi9_7(String s)
{
setTitle(s);
setLayout(new FlowLayout());
add(text);
text.addKeyListener(new MyKey());
}
class MyKey extends KeyAdapter
{
public void keyPressed(KeyEvent e)
{
int a=e.getKeyCode();
char ch=e.getKeyChar();
if(ch>='a'&&ch<='z')
text.setText("编码:"+a+" 字母:"+ch);
else
text.setText("只对字母键有效");
}
}
}

解释就是你手动输入了一个字母,你运行的程序又帮你输出了一个字母,这就导致了重复出现,解决办法去掉你的ch就可以了追问

那么怎么改呢?

追答

去掉你的ch就可以了啊
text.setText("编码:"+a+" 字母:");

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答