永发信息网

java的一个怪问题

答案:3  悬赏:40  手机版
解决时间 2021-05-05 12:36

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class keyboard extends Applet implements ActionListener
{
public Label lab;
public Button

b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b

26,b27,b28;
public Panel p1,p2,p3,p4,p5,p6;
public TextField txt;
public int i;
public String sum1,sum2;
public void init()
{
p1=new Panel(new GridLayout(1,10,10,10));
b1=new Button("Q");
b2=new Button("W");
b3=new Button("E");
b4=new Button("R");
b5=new Button("T");
b6=new Button("Y");
b7=new Button("U");
b8=new Button("I");
b9=new Button("O");
b10=new Button("P");
p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);
p1.add(b6);p1.add(b7);p1.add(b8);p1.add(b9);p1.add(b10);
p2=new Panel(new GridLayout(1,9,20,20));
b11=new Button("A");
b12=new Button("S");
b13=new Button("D");
b14=new Button("F");
b15=new Button("G");
b16=new Button("H");
b17=new Button("J");
b18=new Button("K");
b19=new Button("l");
p2.add(b11);p2.add(b12);p2.add(b13);p2.add(b14);p2.add(b15);
p2.add(b16);p2.add(b17);p2.add(b18);p2.add(b19);
p3=new Panel(new GridLayout(1,7,10,10));
b20=new Button("Z");
b21=new Button("X");
b22=new Button("C");
b23=new Button("V");
b24=new Button("B");
b25=new Button("N");
b26=new Button("M");
p3.add(b20);p3.add(b21);p3.add(b22);p3.add(b23);p3.add(b24);
p3.add(b25);p3.add(b26);
p4=new Panel(new GridLayout(2,1,10,10));
b27=new Button("空格");
b28=new Button("删除");
p4.add(b27);
p4.add(b28);
p5=new Panel(new FlowLayout(FlowLayout.CENTER));
lab=new Label("输出");
txt=new TextField(100);
p5.add(lab);p5.add(txt);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b10.addActionListener(this);
b11.addActionListener(this);
b12.addActionListener(this);
b13.addActionListener(this);
b14.addActionListener(this);
b15.addActionListener(this);
b16.addActionListener(this);
b17.addActionListener(this);
b18.addActionListener(this);
b19.addActionListener(this);
b20.addActionListener(this);
b21.addActionListener(this);
b22.addActionListener(this);
b23.addActionListener(this);
b24.addActionListener(this);
b25.addActionListener(this);
b26.addActionListener(this);
b27.addActionListener(this);
b28.addActionListener(this);
p6=new Panel(new GridLayout(5,1,10,10));
p6.add(p1);
p6.add(p2);
p6.add(p3);
p6.add(p4);
p6.add(p5);
add(p6);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("Q"))
{
txt.setText("Q");
}
if(e.getActionCommand().equals("W"))
{
txt.setText("W");
}
if(e.getActionCommand().equals("E"))
{
txt.setText("E");
}
if(e.getActionCommand().equals("R"))
{
txt.setText("R");
}
if(e.getActionCommand().equals("T"))
{
txt.setText("T");
}
if(e.getActionCommand().equals("Y"))
{
txt.setText("Y");
}
if(e.getActionCommand().equals("U"))
{
txt.setText("U");
}
if(e.getActionCommand().equals("I"))
{
txt.setText("I");
}
if(e.getActionCommand().equals("O"))
{
txt.setText("O");
}
if(e.getActionCommand().equals("P"))
{
txt.setText("P");
}
if(e.getActionCommand().equals("A"))
{
txt.setText("A");
}
if(e.getActionCommand().equals("S"))
{
txt.setText("S");
}
if(e.getActionCommand().equals("D"))
{
txt.setText("D");
}
if(e.getActionCommand().equals("F"))
{
txt.setText("F");
}
if(e.getActionCommand().equals("G"))
{
txt.setText("G");
}
if(e.getActionCommand().equals("H"))
{
txt.setText("H");
}
if(e.getActionCommand().equals("J"))
{
txt.setText("J");
}
if(e.getActionCommand().equals("K"))
{
txt.setText("K");
}
if(e.getActionCommand().equals("L"))
{
txt.setText("L");
}
if(e.getActionCommand().equals("Z"))
{
txt.setText("Z");
}
if(e.getActionCommand().equals("X"))
{
txt.setText("X");
}
if(e.getActionCommand().equals("C"))
{
txt.setText("C");
}
else if(e.getActionCommand().equals("V"))
{
txt.setText("V");
}
if(e.getActionCommand().equals("B"))
{
txt.setText("B");
}
if(e.getActionCommand().equals("N"))
{
txt.setText("N");
}
if(e.getActionCommand().equals("M"))
{
txt.setText("M");
}
if(e.getActionCommand().equals("空格"))
{
txt.setText(" ");
}
if(e.getActionCommand().equals("删除"))
{
txt.setText("");
}
sum1=txt.getText();
sum2+=sum1;
txt.setText(sum2);
}
}

为什么在点I的时候就成了复制了呀,顺便把删除给加上吧

最佳答案
您的程序有两个问题:1. 您设计键盘的时候字母“L”不知为何选了小写,所以把您自己弄糊涂了,把小写的“L” 当作大写的“I”。而您的程序设计使小写的“L”输入后不会进入任何一个条件语句,所以txt.getText()的值不会变化,还是上一轮的值,再做sum2+=sum1;自然就产生了复制。2. 您的sum2没有赋初值,所以在第一次按键的时候,sum2还是null,sum2+=sum1的结果,就成了nullQ(假定您的第一个输入是Q)。一个小的建议是既然每次只输入比较一个键,用if/else条件语句会比单纯的if要有效率一些。给您改了一下程序,加了删除键功能(我的Eclipse不支持中文,所以改成了英文):
import java.applet.*;import java.awt.*;import java.awt.event.*;public class Keyboard extends Applet implements ActionListener{ public Label lab; public Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26,b27,b28; public Panel p1,p2,p3,p4,p5,p6; public TextField txt; public int i; public String sum1,sum2; public void init() { sum2 = ""; p1=new Panel(new GridLayout(1,10,10,10)); b1=new Button("Q"); b2=new Button("W"); b3=new Button("E"); b4=new Button("R"); b5=new Button("T"); b6=new Button("Y"); b7=new Button("U"); b8=new Button("I"); b9=new Button("O"); b10=new Button("P"); p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5); p1.add(b6);p1.add(b7);p1.add(b8);p1.add(b9);p1.add(b10); p2=new Panel(new GridLayout(1,9,20,20)); b11=new Button("A"); b12=new Button("S"); b13=new Button("D"); b14=new Button("F"); b15=new Button("G"); b16=new Button("H"); b17=new Button("J"); b18=new Button("K"); b19=new Button("L"); p2.add(b11);p2.add(b12);p2.add(b13);p2.add(b14);p2.add(b15); p2.add(b16);p2.add(b17);p2.add(b18);p2.add(b19); p3=new Panel(new GridLayout(1,7,10,10)); b20=new Button("Z"); b21=new Button("X"); b22=new Button("C"); b23=new Button("V"); b24=new Button("B"); b25=new Button("N"); b26=new Button("M"); p3.add(b20);p3.add(b21);p3.add(b22);p3.add(b23);p3.add(b24); p3.add(b25);p3.add(b26); p4=new Panel(new GridLayout(2,1,10,10)); b27=new Button("Space"); b28=new Button("Delete"); p4.add(b27); p4.add(b28); p5=new Panel(new FlowLayout(FlowLayout.CENTER)); lab=new Label("Output"); txt=new TextField(100); p5.add(lab);p5.add(txt); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); b6.addActionListener(this); b7.addActionListener(this); b8.addActionListener(this); b9.addActionListener(this); b10.addActionListener(this); b11.addActionListener(this); b12.addActionListener(this); b13.addActionListener(this); b14.addActionListener(this); b15.addActionListener(this); b16.addActionListener(this); b17.addActionListener(this); b18.addActionListener(this); b19.addActionListener(this); b20.addActionListener(this); b21.addActionListener(this); b22.addActionListener(this); b23.addActionListener(this); b24.addActionListener(this); b25.addActionListener(this); b26.addActionListener(this); b27.addActionListener(this); b28.addActionListener(this); p6=new Panel(new GridLayout(5,1,10,10)); p6.add(p1); p6.add(p2); p6.add(p3); p6.add(p4); p6.add(p5); add(p6); } public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("Delete")) { if (sum2.length() > 0) sum2 = sum2.substring(0, sum2.length() -1); else sum2 = ""; } else {
if(e.getActionCommand().equals("Q")) { txt.setText("Q"); } else if(e.getActionCommand().equals("W")) { txt.setText("W"); } else if(e.getActionCommand().equals("E")) { txt.setText("E"); } else if(e.getActionCommand().equals("R")) { txt.setText("R"); } else if(e.getActionCommand().equals("T")) { txt.setText("T"); } else if(e.getActionCommand().equals("Y")) { txt.setText("Y"); } else if(e.getActionCommand().equals("U")) { txt.setText("U"); } else if(e.getActionCommand().equals("I")) { txt.setText("I"); } else if(e.getActionCommand().equals("O")) { txt.setText("O"); } else if(e.getActionCommand().equals("P")) { txt.setText("P"); } else if(e.getActionCommand().equals("A")) { txt.setText("A"); } else if(e.getActionCommand().equals("S")) { txt.setText("S"); } else if(e.getActionCommand().equals("D")) { txt.setText("D"); } else if(e.getActionCommand().equals("F")) { txt.setText("F"); } else if(e.getActionCommand().equals("G")) { txt.setText("G"); } else if(e.getActionCommand().equals("H")) { txt.setText("H"); } else if(e.getActionCommand().equals("J")) { txt.setText("J"); } else if(e.getActionCommand().equals("K")) { txt.setText("K"); } else if(e.getActionCommand().equals("L")) { txt.setText("L"); } else if(e.getActionCommand().equals("Z")) { txt.setText("Z"); } if(e.getActionCommand().equals("X")) { txt.setText("X"); } if(e.getActionCommand().equals("C")) { txt.setText("C"); } else if(e.getActionCommand().equals("V")) { txt.setText("V"); } else if(e.getActionCommand().equals("B")) { txt.setText("B"); } else if(e.getActionCommand().equals("N")) { txt.setText("N"); } else if(e.getActionCommand().equals("M")) { txt.setText("M"); } else if(e.getActionCommand().equals("Space")) { txt.setText(" "); } sum1=txt.getText(); sum2+=sum1; } txt.setText(sum2); }}
全部回答
这个问题还是百度一下比较实在。太强悍了!
public void paint(Graphics g) { //加下面这句,初学者很容易违反这个常规协定,加下面这句是绘制图形的常识 super.paint(g); //其他的不变 }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
MW,STL,DT边个单挑劲?后期边个好玩?
丝路怎么最快刷声望.点亮图标
爱情作家下雨经典语录,形容雨天的句子
道邦子烤牛肉这个地址在什么地方,我要处理点
描写祖国名言警句,皮鞋如何翻新 5分
求一首适合跑跑卡丁车的加快 音乐
对玩摇滚不怎么了解,但很喜爱,从哪儿能玩起
银行业务问题
梦幻诛仙有什么技巧启灵,就是启不到3以上
有谁邀请我开通一下QQ牧场啊!
怎样降低DNF里的COF点啊?
爱国诗词古代,谁能提供描写平潭的诗词?
问问积分可以换经验??
空间怎么添加游戏人生啊?
心痛一个人能证明什么
推荐资讯
电影、独自等待、 里男主角楼底下拿录音机放
闭幕是什么意思,相声怎么结尾
感情飘渺什么意思?形容感情的、一个人形容另
我用了DNF换装秀还原后,怎么头部没还原?
3G视频能不能与电脑视频连接使用。想连接的话
腾讯哪些游戏是永久点亮不熄灭的?
为什么每一次哀悼都要停服?
的文言文怎么说,求文言文写的英雄帖或英雄榜
和她在一起付出到底值得吗?
反恐精英生化3没啥意思,僵尸总是赢
为什么我不论多忙..手机都开着..等他的电话来
广州去泰国的机票双程是多少钱?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?