java GUI小练习

老师课堂给学生的练习程序运行结果
因为是第一次自己用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("计算");
	}
}
发布了11 篇原创文章 · 获赞 0 · 访问量 170

猜你喜欢

转载自blog.csdn.net/yucan1234/article/details/103093739