package mypackage;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ActionEvent act = new ActionEvent("求和与平均值");
act.setBounds(100,100,320,260);
}
}
package mypackage;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.util.*;
public class ActionEvent extends JFrame {
JTextArea test1,area;
ReaderListen listener;
JPanel panel;
double array[] = new double[50];
public ActionEvent(String s){
super(s);
init();
setVisible(true);
}
void init(){
setLayout(new FlowLayout());
panel=new JPanel();
test1=new JTextArea(10,10);
//panel.add(test1);
panel.add(test1);
area = new JTextArea(10,10);
listener = new ReaderListen(test1,area);
panel.add(area);
add(panel);
test1.getDocument().addDocumentListener(listener);
}
public String ActionCommand() {
// TODO Auto-generated method stub
return null;
}
}
package mypackage;
import javax.swing.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
public class ReaderListen extends JFrame implements DocumentListener{
JTextArea area1,area2;
double sum,aver;
public ReaderListen( JTextArea area1,JTextArea area2){
this.area1=area1;
this.area2=area2;
}
public void changedUpdate(DocumentEvent e) {
String s=area1.getText();
String []a=s.split("[^0123456789.]+");
sum=0;
aver=0;
int i=0;
for( i=0;i<a.length;i++)
{
try{sum=sum+Double.parseDouble(a[i]);
}
catch(Exception ee){}
}
aver=sum/i;
area2.setText(null);
area2.append("\n和:"+sum);
area2.append("\n平均值:"+aver);
}
public void insertUpdate(DocumentEvent e) {
changedUpdate(e);
}
public void removeUpdate(DocumentEvent e) {
changedUpdate(e);
}
}