当前位置:课程学习>>第八章 图形界面程序设计>>学习内容>>知识点一


知识点一:图形界面设计



同学们,请运用你学到的知识,尝试分析下面的案例。

案例:编写应用程序,有一个标题为“计算”的窗口,窗口的布局为FlowLayout布局。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区同时对你输入的数进行求和运算并求出平均值,也就是说随着你输入的变化,另一个文本区不断地更新求和及平均值。

教师解析

本题主要考察了图形界面的组件和事件的使用。

import java.awt.*;

import javax.swing.event.*;

import javax.swing.*;

import java.awt.event.*;

public class Hello {

  public static void main(String args[]) {

    Computer fr=new Computer();

  }

}

class Computer extends JFrame implements DocumentListener {

  JTextArea text1,text2;

  int count=1;

  double sum=0,aver=0;

  Computer() {

    setLayout(new FlowLayout());

    text1=new JTextArea(6,20);

    text2=new JTextArea(6,20);

    add(new JScrollPane(text1));

    add(new JScrollPane(text2));

    text2.setEditable(false);

    (text1.getDocument()).addDocumentListener(this);

    setSize(300,320);

    setVisible(true);

    validate();

    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}

public void changedUpdate(DocumentEvent e) {

    String s=text1.getText();

    String []a =s.split("[^0123456789.]+");

    sum=0;

    aver=0; 

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

     try { sum=sum+Double.parseDouble(a[i]);

    }

    catch(Exception ee) {}

  }

  aver=sum/a.length;

  text2.setText(null);

  text2.append("\n和:"+sum);

  text2.append("\n平均值:"+aver);

}

public void removeUpdate(DocumentEvent e){

  changedUpdate(e); 

  }

  public void insertUpdate(DocumentEvent e){

    changedUpdate(e);

  }

}

通过对上述案例的分析,你是否掌握了Java图形界面设计编程?下面我们进入总结与反思。