计算器的 窗口 来自 ------想飞的菜鸟

来源:互联网 发布:行助手检测网络 未通过 编辑:程序博客网 时间:2024/05/22 04:27

package love;

import java.awt.*;
import java.awt.event.*;

 

 

public class count0   //extends Frame //implements ActionListener
{
 boolean prev=true;
 boolean repeat = true;
 private Frame frame;
 private TextField tf;
 // 声明 啊别扭数组 
 Button b[] = new Button[16];
 
 
 //private String  b1;
 
 //  构造函数
 public count0()
 {
  // frame 框架
     frame = new Frame("我的计算器");
  // 设置 布局管理器
  frame.setLayout(new BorderLayout());
  
  // 添加 监听事件     之后可以退出来
    frame.addWindowListener(new WindowAdapter(){
     public void windowClosing(WindowEvent e)
       { 
      System.exit(0);
       }
     
    });
    
    
    
    
 }
 
 
 
 public void doit()
 {
  // 声明 面板 panel
  Panel panel1 = new Panel();
  Panel panel2 = new Panel();
  //panel1.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
  //  在这里  用 GridLauout()  效果更好!
  panel1.setLayout(new GridLayout(4,4,5,5));
  
  
  //  定义按钮数组名
  String[] buttonname={"1","2","3","+","4","5","6","-","7","8","9","*",".","0","=","/"};
  
  // 定义按钮  通过循环的方法
  for(int i=0;i<4;i++)
   for(int j=0;j<4;j++)
   {
    //  定义按钮
    b[i*4+j] = new Button(buttonname[i*4+j]);
    
    // 注册监听器
    b[i*4+j].addMouseListener(new myMouselistener());
    
    // 将按钮 添加至panel1 中
    panel1.add(b[i*4+j]);
    
   }
  
  
  /*
  // 定义  组件    按钮和 文本框
  Button b1 = new Button("1");
  Button b2 = new Button("2");
  Button b3 = new Button("3");
  Button b4 = new Button("+");
  Button b5 = new Button("4");
  Button b6 = new Button("5");
  Button b7 = new Button("6");
  Button b8 = new Button("-");
  Button b9 = new Button("7");
  Button b10 = new Button("8");
  Button b11 = new Button("9");
  Button b12 = new Button("*");
  Button b13 = new Button(".");
  Button b14 = new Button("0");
  Button b15 = new Button("=");
  Button b16 = new Button("/");
  

  // 将  按钮添加至 panel1 中
  //  注册 监听器 
  panel1.add(b1);
  //  注册监听器
  b1.addActionListener( new myactionlistener());
  
  panel1.add(b2);
     panel1.add(b3);
  panel1.add(b4);
  panel1.add(b5);
  panel1.add(b6);
  panel1.add(b7);
  panel1.add(b8);
  panel1.add(b9);
  panel1.add(b10);
  panel1.add(b11);
  panel1.add(b12);
  panel1.add(b13);
  panel1.add(b14);
  panel1.add(b15);
  panel1.add(b16);
  */
  //  用内部类     实现监听器
  
  
  
  //  定义文本框
  
     tf = new  TextField("0",10);
  tf.setEditable(true);
  
  // 将文本框  添加至 Panel 2
  
  panel2.add(tf);
  
  
  
  
  // 将 面板 添加至窗体  frame中
  frame.add("Center",panel1);
  frame.add("North",panel2);
  
  
  
  //  设置擦混个体不可变
  frame.setResizable(false);
  // 设置  窗体的大小   和 显示
  
  frame.setBounds(400,200,300,400);
  //frame.setSize(60,80);
  frame.setVisible(true);
  
  
  
 }
 
 
 
 public  void pressNumber(String s)
 {
  if(prev)
  {
     tf.setText(s);
     prev = false;
  }
  else
  {
   
  }
 }
 
 
 
 //
 
 
 class myMouselistener extends  MouseAdapter
 {
  public void mousePressed(MouseEvent e)
  {
   
   Object source = e.getSource();
   
   if(source == b[0])
   {
    pressNumber("1");
    
    
    
    return;
    
   }
   
   
   
   if(source == b[1])
   {
    
    pressNumber("2");
    return;
    
   }
  }
  
 }
 
 //public Strign(button)

 
 
 /**
  * 在主函数湖中仅仅  创建一个对象    和电泳 doit() 函数! 
  *  施主函数 简介!
  *  拜年语查看!
  *
  * */
 public static void main(String[] args)
 {
  count0 lov = new count0();
  lov.doit();
  
   
  
  // TODO Auto-generated method stub

 }

 

 
 }
 
 
 
 
 


 

原创粉丝点击