Code_Sword 2017-05-25 01:13 采纳率: 0%
浏览 1560

Java中图形用户机界面的数据接收问题

这个程序是哪里的问题,输入的数据没有进入到计算中。

 package name1;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
//4)  编写图形界面的程序,接收用户输入的一个字符串和一个字符,将字符串中的所有该字符删除,打印输出新生成的结果字符串。
public class Picture extends Applet implements ActionListener
{
    Label prompt1;
    Label prompt2;
    TextField input1;
    TextField input2;
    //double d=0.0;
    //char []a=new char[100];
    String d="null";
    public void init()
    {
        prompt1=new Label("请输入一个字符串以及一个字符:");

        prompt2=new Label("+");
        input1=new TextField(10);
        input2=new TextField(5);
        add(prompt1);
        add(input1);
        add(prompt2);
        add(input2);
        input1.addActionListener(this);
        input2.addActionListener(this);
    }
    public void paint(Graphics g)
    {
        //String d=a.toString();
        g.drawString("最终输出的字符串为:"+d, 10, 50);//10,50是控制x,y的坐标的,在这里控制的是“你输入了数据”这句话的位置
    }
    public void actionPerformed(ActionEvent e)
    {
        char []a=new char[100];
        String b=input1.toString();
        String c=input2.toString();
        char []c1=c.toCharArray();
        char []ch=b.toCharArray();
        int i=0;
        int j=0;
        do{
            if(ch[i]==c1[0])
            {
                i++;
                continue;
            }
            else
            {
                a[j]=ch[i];
                i++;
                j++;
            }
        }while(i<b.length());
        d=a.toString();
        repaint( );
    }
}

  • 写回答

1条回答

  • 半杯凉月 2017-05-25 01:51
    关注

    package testPro;

    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    //4) 编写图形界面的程序,接收用户输入的一个字符串和一个字符,将字符串中的所有该字符删除,打印输出新生成的结果字符串。
    public class Picture extends Applet
    {
    Label prompt1;
    Label prompt2;
    TextField input1;
    TextField input2;
    //double d=0.0;
    //char []a=new char[100];
    String d="null";
    char []a=new char[100];
    String b;
    String c;
    char []c1 = new char[1000];
    char []ch = new char[1000];
    public void init()
    {
    prompt1=new Label("请输入一个字符串以及一个字符:");

        prompt2=new Label("+");
        input1=new TextField(10);
        input2=new TextField(5);
        add(prompt1);
        add(input1);
        add(prompt2);
        add(input2);
        input1.addKeyListener(new KeyListener() {
    
            @Override
            public void keyTyped(KeyEvent e) {
                // TODO Auto-generated method stub
    
            }
    
            @Override
            public void keyReleased(KeyEvent e) {
                b = input1.getText();
                c1 = b.toCharArray();
    
            }
    
            @Override
            public void keyPressed(KeyEvent e) {
                // TODO Auto-generated method stub
    
            }
        });
        input2.addKeyListener(new KeyListener() {
    
            @Override
            public void keyTyped(KeyEvent e) {
                // TODO Auto-generated method stub
    
            }
    
            @Override
            public void keyReleased(KeyEvent e) {
                // TODO Auto-generated method stub
    
            }
    
            @Override
            public void keyPressed(KeyEvent e2) {
                c = input2.getText();
                ch = c.toCharArray(); 
                //在这里处理你的逻辑,注意下标别越界
    
            }
        });
    }
    public void paint(Graphics g)
    {
        //String d=a.toString();
        g.drawString("最终输出的字符串为:"+d, 10, 50);//10,50是控制x,y的坐标的,在这里控制的是“你输入了数据”这句话的位置
    }
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记