GridLayout,JPane组件

/**
 * @(#)TestCalculator.java
 *
 * TestCalculator application
 *
 * @author
 * @version 1.00 2007/1/22
 */
 import java.*;
 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
import java.util.EventListener;
public class TestCalculator extends JFrame implements ActionListener
{
 private JTextField jfd=new JTextField();
 String str=new String("123+456-789*0.=\\");
 String strch=null;
 Character ch=null;
 
    public TestCalculator()
    {
     
     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     Container c=this.getContentPane();
     jfd.setHorizontalAlignment(JTextField.RIGHT);
     JPanel jpl=new JPanel();
     jpl.setLayout(new GridLayout(4,4));
     c.add(jfd,BorderLayout.NORTH);
     c.add(jpl,BorderLayout.CENTER);
     //System.out.println(str.substring(1));
     JButton b=null;

     for(int i=0;i<16;i++)
     {
      ch=str.charAt(i);
      b=new JButton(ch.toString());
      //b=new JButton(new Integer(i+1).toString());
      b.addActionListener(this);
      jpl.add(b);
     }
     /*b=new JButton("1");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("2");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("3");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("+");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("4");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("5");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("6");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("-");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("7");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("8");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("9");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("*");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("0");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton(".");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("=");
     b.addActionListener(this);
     jpl.add(b);
     
     b=new JButton("\\");
     b.addActionListener(this);
     jpl.add(b);*/
     
     
     
   
      
    }
    public static void main(String[] args)
    {
     
     // TODO, add your application code
     System.out.println("Hello World!");
     TestCalculator mainFrame=new TestCalculator();
     mainFrame.setTitle("TestCalculator");
     mainFrame.setBounds(300,200,300,400);
     mainFrame.setVisible(true);
    }


 public void actionPerformed(ActionEvent e)
 {
  // TODO: Add your code here
     //||strnum.indexOf("-")!=-1||strnum.indexOf("*")!=-1||strnum.indexOf("\\")!=-1
  
  String strnum=jfd.getText();
  //System.out.println(strnum);
  Character c1='+';
  //Character c2='-';
  int n1=0;
  float num1=0;
  float num2=0;
  float sum=0;
  Integer len=new Integer(0);
  
  if(e.getActionCommand().equals("+")||e.getActionCommand().equals("-")||e.getActionCommand().equals("*")||e.getActionCommand().equals("\\"))
  {
   
   num1=new Float(strnum.substring(0,len));
   
   System.out.println(num1);
   if(strnum.indexOf(c1)!=-1||strnum.indexOf("-")!=-1||strnum.indexOf("*")!=-1||strnum.indexOf("\\")!=-1)
   {
    //System.out.println(strnum.length());
    jfd.setText(jfd.getText());
    //System.out.println(e.getActionCommand());
   }
   else
   {
    jfd.setText(jfd.getText()+e.getActionCommand());
     
    //System.out.println("no find.");
   }
   
  }
  else if(e.getActionCommand().equals("."))
  {
   
   if(strnum.indexOf(".")!=-1)
   {
    
    n1=strnum.indexOf(".");
    
    //System.out.println(strnum.length());
    if(strnum.substring(n1+1,n1+1).equals(".")==false)
    {
     //System.out.println(strnum.substring(n1+1,n1+1).equals("."));
     jfd.setText(jfd.getText());
     
    }
    else
    {
     jfd.setText(jfd.getText()+e.getActionCommand());
     
    }
   }
   else
   {
    jfd.setText(jfd.getText()+e.getActionCommand());
   }
   
  }
  else
  {
   if(e.getActionCommand().equals("="))
   {
    if(strnum.indexOf("=")!=-1)
    {
     jfd.setText(jfd.getText());
    }
    else
    {
     
     jfd.setText(jfd.getText()+e.getActionCommand());
    
    
     //System.out.println(strnum.substring(len+1,strnum.length()));
    }
   }
   else
   {
    jfd.setText(jfd.getText()+e.getActionCommand());
   }
   
  }
  
 }
}

posted on 2007-01-26 15:14 大头剑客 阅读(210) 评论(0)  编辑  收藏 所属分类: 学习笔记


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

公告

写字楼里写字间,写字间里程序员;
程序人员写程序,又拿程序换酒钱;
酒醒只在网上坐,酒醉还来网下眠;
酒醉酒醒日复日,网上网下年复年;
但愿老死电脑间,不愿鞠躬老板前;
奔驰宝马贵者趣,公交自行程序员;
别人笑我忒疯癫,我笑自己命太贱;
不见满街漂亮妹,哪个归得程序员.
不管前面是地雷阵还是万丈深渊,
我都将勇往直前,义无反顾,
鞠躬尽瘁,死而后已。
—— 朱镕基总理

常用链接

留言簿(1)

随笔档案

文章分类

文章档案

学习园地

最新随笔

搜索

积分与排名

最新评论