package
as;
import java.awt. * ;
import javax.swing. * ;
import java.awt.event. * ;
public class JiSuanQi implements ActionListener{
/**
* 程序功能: 计算器
*
* Bug: 1)小数点:设一个Boolean成员变量,在点击后不可用。。。在"+-/*"中设为可用。
*/
// step1 Define Container
private JFrame fra = new JFrame( " 计算器 " );
private Panel panel = new Panel();
private float sum,sum1,sum2;
private char zifu;
private boolean ii = true ;
Container con = fra.getContentPane();
JMenuBar bar = new JMenuBar();
JMenu JMenu1 = new JMenu( " 编辑 " );
JMenu JMenu2 = new JMenu( " 查看 " );
JMenu JMenu3 = new JMenu( " 帮助 " );
JMenuItem JMenuitem = new JMenuItem( " 帮助111 " );
JMenuItem JMenuitem1 = new JMenuItem( " 帮助111 " );
// step3 Define Component
TextField text = new TextField();
JButton bu1 = new JButton( " 1 " );
JButton bu2 = new JButton( " 2 " );
JButton bu3 = new JButton( " 3 " );
JButton bu4 = new JButton( " 4 " );
JButton bu5 = new JButton( " 5 " );
JButton bu6 = new JButton( " 6 " );
JButton bu7 = new JButton( " 7 " );
JButton bu8 = new JButton( " 8 " );
JButton bu9 = new JButton( " 9 " );
JButton bu0 = new JButton( " 0 " );
JButton bujia = new JButton( " + " );
JButton bujian = new JButton( " - " );
JButton bucheng = new JButton( " * " );
JButton buchu = new JButton( " / " );
JButton budian = new JButton( " . " );
JButton bufuhao = new JButton( " +/- " );
JButton budenghao = new JButton( " = " );
JButton buqingling = new JButton( " C " );
public void m()
{
// step2 Define Layout
con.setLayout( new BorderLayout());
panel.setLayout( new GridLayout( 5 , 4 , 4 , 4 ));
buqingling.setForeground(Color.RED);
// step5 把组件(subassembly)放在Panel中
panel.add(bu1);
panel.add(bu2);
panel.add(bu3);
panel.add(bujia);
panel.add(bu4);
panel.add(bu5);
panel.add(bu6);
panel.add(bujian);
panel.add(bu7);
panel.add(bu8);
panel.add(bu9);
panel.add(bucheng);
panel.add(bu0);
panel.add(bufuhao);
panel.add(budian);
panel.add(buchu);
panel.add(buqingling);
panel.add(budenghao);
/* JMenu1.add("复制");
JMenu1.add("粘贴");
JMenu2.add("标准型");
JMenu2.add("科学型");
JMenu2.addSeparator();
JMenu2.add("数学分组");
//JMenu3.add("帮助"); */
JMenu1.add(JMenuitem1);
bar.add(JMenu1);
bar.add(JMenu2);
JMenu3.add(JMenuitem);
bar.add(JMenu3);
fra.setJMenuBar(bar);
// 把Panel放到Fream中
con.add(panel,BorderLayout.CENTER);
con.add(text,BorderLayout.NORTH);
// 对 JJButton 进行事件处理
bu1.addActionListener( this );
bu2.addActionListener( this );
bu3.addActionListener( this );
bu4.addActionListener( this );
bu5.addActionListener( this );
bu6.addActionListener( this );
bu7.addActionListener( this );
bu8.addActionListener( this );
bu9.addActionListener( this );
bu0.addActionListener( this );
bujia.addActionListener( this );
bujian.addActionListener( this );
bucheng.addActionListener( this );
buchu.addActionListener( this );
budian.addActionListener( this );
bufuhao.addActionListener( this );
budenghao.addActionListener( this );
buqingling.addActionListener( this );
// show windows size and window
fra.setSize( 230 , 200 );
fra.setResizable( false ); // 屏蔽最大化
fra.setVisible( true ); // 显示Frame
// 关闭windows窗口
fra.addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit( 0 );
}
}
);
}
public void actionPerformed(ActionEvent e)
{
String str = e.getActionCommand(); // 获取用户点击按扭上的文字是什么。
String shuzi = " 0123456789 " ;
String yunsuan = " +-*/ " ;
if (shuzi.indexOf(str) >= 0 ) // 判断返回的数值是否大于0
{
text.setText(text.getText() + str);
// ii=true;
}
else if (yunsuan.indexOf(str) >= 0 )
{
sum1 = Float.parseFloat(text.getText());
text.setText( "" );
zifu = yunsuan.charAt(yunsuan.indexOf(str));
ii = true ;
}
else if (str.equals( " . " ) && ii == true )
{
text.setText(text.getText() + str);
ii = false ;
}
else if (str.equals( " = " ))
{
sum2 = Float.parseFloat(text.getText());
switch (zifu)
{
case ' + ' :
sum = sum1 + sum2;
text.setText( "" + sum);
break ;
case ' - ' :sum = sum1 - sum2;
text.setText( "" + sum);
break ;
case ' * ' :sum = sum1 * sum2;
text.setText( "" + sum);
break ;
case ' / ' :sum = sum1 / sum2;
text.setText( "" + sum);
break ;
}
}
else if (str.equals( " C " ))
{
text.setText( "" );
sum = 0 ;
sum1 = 0 ;
sum2 = 0 ;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
JiSuanQi ji = new JiSuanQi();
ji.m();
}
}
import java.awt. * ;
import javax.swing. * ;
import java.awt.event. * ;
public class JiSuanQi implements ActionListener{
/**
* 程序功能: 计算器
*
* Bug: 1)小数点:设一个Boolean成员变量,在点击后不可用。。。在"+-/*"中设为可用。
*/
// step1 Define Container
private JFrame fra = new JFrame( " 计算器 " );
private Panel panel = new Panel();
private float sum,sum1,sum2;
private char zifu;
private boolean ii = true ;
Container con = fra.getContentPane();
JMenuBar bar = new JMenuBar();
JMenu JMenu1 = new JMenu( " 编辑 " );
JMenu JMenu2 = new JMenu( " 查看 " );
JMenu JMenu3 = new JMenu( " 帮助 " );
JMenuItem JMenuitem = new JMenuItem( " 帮助111 " );
JMenuItem JMenuitem1 = new JMenuItem( " 帮助111 " );
// step3 Define Component
TextField text = new TextField();
JButton bu1 = new JButton( " 1 " );
JButton bu2 = new JButton( " 2 " );
JButton bu3 = new JButton( " 3 " );
JButton bu4 = new JButton( " 4 " );
JButton bu5 = new JButton( " 5 " );
JButton bu6 = new JButton( " 6 " );
JButton bu7 = new JButton( " 7 " );
JButton bu8 = new JButton( " 8 " );
JButton bu9 = new JButton( " 9 " );
JButton bu0 = new JButton( " 0 " );
JButton bujia = new JButton( " + " );
JButton bujian = new JButton( " - " );
JButton bucheng = new JButton( " * " );
JButton buchu = new JButton( " / " );
JButton budian = new JButton( " . " );
JButton bufuhao = new JButton( " +/- " );
JButton budenghao = new JButton( " = " );
JButton buqingling = new JButton( " C " );
public void m()
{
// step2 Define Layout
con.setLayout( new BorderLayout());
panel.setLayout( new GridLayout( 5 , 4 , 4 , 4 ));
buqingling.setForeground(Color.RED);
// step5 把组件(subassembly)放在Panel中
panel.add(bu1);
panel.add(bu2);
panel.add(bu3);
panel.add(bujia);
panel.add(bu4);
panel.add(bu5);
panel.add(bu6);
panel.add(bujian);
panel.add(bu7);
panel.add(bu8);
panel.add(bu9);
panel.add(bucheng);
panel.add(bu0);
panel.add(bufuhao);
panel.add(budian);
panel.add(buchu);
panel.add(buqingling);
panel.add(budenghao);
/* JMenu1.add("复制");
JMenu1.add("粘贴");
JMenu2.add("标准型");
JMenu2.add("科学型");
JMenu2.addSeparator();
JMenu2.add("数学分组");
//JMenu3.add("帮助"); */
JMenu1.add(JMenuitem1);
bar.add(JMenu1);
bar.add(JMenu2);
JMenu3.add(JMenuitem);
bar.add(JMenu3);
fra.setJMenuBar(bar);
// 把Panel放到Fream中
con.add(panel,BorderLayout.CENTER);
con.add(text,BorderLayout.NORTH);
// 对 JJButton 进行事件处理
bu1.addActionListener( this );
bu2.addActionListener( this );
bu3.addActionListener( this );
bu4.addActionListener( this );
bu5.addActionListener( this );
bu6.addActionListener( this );
bu7.addActionListener( this );
bu8.addActionListener( this );
bu9.addActionListener( this );
bu0.addActionListener( this );
bujia.addActionListener( this );
bujian.addActionListener( this );
bucheng.addActionListener( this );
buchu.addActionListener( this );
budian.addActionListener( this );
bufuhao.addActionListener( this );
budenghao.addActionListener( this );
buqingling.addActionListener( this );
// show windows size and window
fra.setSize( 230 , 200 );
fra.setResizable( false ); // 屏蔽最大化
fra.setVisible( true ); // 显示Frame
// 关闭windows窗口
fra.addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit( 0 );
}
}
);
}
public void actionPerformed(ActionEvent e)
{
String str = e.getActionCommand(); // 获取用户点击按扭上的文字是什么。
String shuzi = " 0123456789 " ;
String yunsuan = " +-*/ " ;
if (shuzi.indexOf(str) >= 0 ) // 判断返回的数值是否大于0
{
text.setText(text.getText() + str);
// ii=true;
}
else if (yunsuan.indexOf(str) >= 0 )
{
sum1 = Float.parseFloat(text.getText());
text.setText( "" );
zifu = yunsuan.charAt(yunsuan.indexOf(str));
ii = true ;
}
else if (str.equals( " . " ) && ii == true )
{
text.setText(text.getText() + str);
ii = false ;
}
else if (str.equals( " = " ))
{
sum2 = Float.parseFloat(text.getText());
switch (zifu)
{
case ' + ' :
sum = sum1 + sum2;
text.setText( "" + sum);
break ;
case ' - ' :sum = sum1 - sum2;
text.setText( "" + sum);
break ;
case ' * ' :sum = sum1 * sum2;
text.setText( "" + sum);
break ;
case ' / ' :sum = sum1 / sum2;
text.setText( "" + sum);
break ;
}
}
else if (str.equals( " C " ))
{
text.setText( "" );
sum = 0 ;
sum1 = 0 ;
sum2 = 0 ;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
JiSuanQi ji = new JiSuanQi();
ji.m();
}
}