老师课堂给学生的练习
因为是第一次自己用GUI的方式编程,所以比较简单,但是思路还算清晰,包括的知识还是很多的,觉得十分不容易,所以上传给大家参考
//窗口设计
AveFrame .java
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class AveFrame extends Frame{
TextArea textarea1= new TextArea();
TextArea textarea2= new TextArea();
public AveFrame(String s) {
super(s);
setSize(500,300);
init();
setVisible(true);
addWindowListener(new WindowAdapter() //关闭窗口
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
}
);
validate();
}
void init() {
GridLayout grid=new GridLayout(1,2);
setLayout(grid);
//设置字体
textarea1.setFont(new Font("黑体",0,22));
textarea2.setFont(new Font("黑体",0,22));
add(textarea1);
add(textarea2);
MyKeyListener myKeyListener = new MyKeyListener();//创建一个键盘监听事件对象
textarea1.addKeyListener(myKeyListener);//添加myKeyListener键盘监听事件
}
class MyKeyListener implements KeyListener{
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();//获取所按键盘的键盘编码
if (keyCode == KeyEvent.VK_ENTER) {
Work work=new Work(textarea1.getText());
textarea2.append(Double.toString(work.Ave()));
}
}
public void keyReleased(KeyEvent e) {
}
}
//计算处理
work.java
public class Work {
int sum=0;
int ave=0;
String str="";
Work(String str){
this.str=str;
}
public int Ave() {
String regex="\\s+";
String words[]=str.split(regex);
for(int i=0;i<words.length;i++) {
sum+=Double.parseDouble(words[i]);
}
ave=sum/words.length;
return ave;
}
主程序
testmain.java
public class testmain {
public static void main(String args[]){
new AveFrame("计算");
}
}