永发信息网

看一下这个Java程序,Document事件 ,哪儿错了呢

答案:1  悬赏:70  手机版
解决时间 2021-01-02 02:11
  • 提问者网友:王者佥
  • 2021-01-01 16:52
import java.awt.*;

import javax.swing.*;

import javax.swing.event.*;

public class XiTi9_8 extends JFrame implements DocumentListener

{

JTextArea[] area={new JTextArea(),new JTextArea(),new JTextArea()};

public static void main(String[] args)

{

XiTi9_8 frm=new XiTi9_8("Sum");

frm.setBounds(100,100,400,250);

frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frm.setVisible(true);

}

XiTi9_8(String s)

{

setTitle(s);

JPanel p=new JPanel();

p.setLayout(new GridLayout()); //新建一个面板并设置网格布局

p.add(new JScrollPane(area[0]));

p.add(new JScrollPane(area[1]));

p.add(new JScrollPane(area[2]));

add(p);

area[0].getDocument().addDocumentListener(this);

area[1].getDocument().addDocumentListener(this);

}

public void changedUpdate(DocumentEvent e)

{

Double sum=0.0;

String s=area[0].getText();

String regex="\\s+";

String[] num=s.split(regex);

for(int i=0;i<num.length;i++)

sum+=Double.valueOf(num[i]);

s=area[1].getText();

num=s.split(regex);

for(int i=0;i<num.length;i++)

sum+=Double.valueOf(num[i]);

area[2].setText(sum+"");

}

public void removeUpdate(DocumentEvent e) {changedUpdate(e);}

public void insertUpdate(DocumentEvent e) {changedUpdate(e);}

}
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-01-01 17:19
//字符串在使用前做个判断,是不是空串

        Double sum=0.0;
        String[] num;
        String s=area[0].getText();
        String regex="\\s+";

        if(s.length() != 0) {
            num=s.split(regex);
            for(int i=0;i<num.length;i++)
                sum+=Double.valueOf(num[i]);
        }

        s=area[1].getText();
        if(s.length() != 0) {
            num=s.split(regex);
            for(int i=0;i<num.length;i++)
                sum+=Double.valueOf(num[i]);
        }
        area[2].setText(sum+"");
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯