当前位置: 代码迷 >> Java相关 >> [原创]这个程序,要怎么来完成
  详细解决方案

[原创]这个程序,要怎么来完成

热度:233   发布时间:2006-03-21 13:46:00.0
[原创]这个程序,要怎么来完成

大帮我看看,这是个计算器代码,要怎么能实现里面的数字运算,+,-,*,/,
1~9的数字按扭,我已经监视了this.addActionListener,我不知道怎样算和写,这块代码
请大家帮帮忙



import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
class app extends JFrame
{
String a,b;
float sum;
JSeparator tor=new JSeparator();
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
JPanel panel3=new JPanel();
JPanel panel4=new JPanel();
JPanel panel5=new JPanel();
JPanel panel6=new JPanel();
JPanel panel7=new JPanel();
JMenuBar bar=new JMenuBar();
JMenu jm1=new JMenu("编辑(E)");
JMenu jm2=new JMenu("查看(V)");
JMenu jm3=new JMenu("帮助(H)");
JTextField field=new JTextField(" ");
JMenuItem item1=new JMenuItem("复制");
JMenuItem item2=new JMenuItem("粘贴");
JMenuItem item3=new JMenuItem("标准型");
JMenuItem item4=new JMenuItem("科学型");
JMenuItem item5=new JMenuItem("数字分组");
JMenuItem item6=new JMenuItem("帮助主题");
JMenuItem item7=new JMenuItem("关于计算器");
JButton bu1=new JButton(" ");
JButton bu2=new JButton("Backspace");
JButton bu3=new JButton(" CE ");
JButton bu4=new JButton(" C ");
JButton bu5=new JButton("MC");
JButton bu6=new JButton("7");
JButton bu7=new JButton("8");
JButton bu8=new JButton("9");
JButton bu9=new JButton("/");
JButton bu10=new JButton("sqrt");
JButton bu11=new JButton("RM");
JButton bu12=new JButton("4");
JButton bu13=new JButton("5");
JButton bu14=new JButton("6");
JButton bu15=new JButton("*");
JButton bu16=new JButton(" % ");
JButton bu17=new JButton("MS");
JButton bu18=new JButton("1");
JButton bu19=new JButton("2");
JButton bu20=new JButton("3");
JButton bu21=new JButton("-");
JButton bu22=new JButton(" 1/x");
JButton bu23=new JButton("M+");
JButton bu24=new JButton("0");
JButton bu25=new JButton("+/-");
JButton bu26=new JButton(".");
JButton bu27=new JButton("+");
JButton bu28=new JButton("= ");
app()
{
this.setJMenuBar(bar);
this.getContentPane().setLayout(new GridLayout(6,1));
bar.add(jm1);
bar.add(jm2);
bar.add(jm3);

jm1.add(item1);
jm1.add(item2);
jm2.add(item3);
jm2.add(item4);
jm2.add(tor);
jm2.add(item5);
jm3.add(item6);
jm3.add(item7);
panel1.add(field);
panel2.add(bu1);
panel2.add(bu2);
panel2.add(bu3);
panel2.add(bu4);
panel3.add(bu5);
panel3.add(bu6);
panel3.add(bu7);
panel3.add(bu8);
panel3.add(bu9);
panel3.add(bu10);
panel4.add(bu11);
panel4.add(bu12);
panel4.add(bu13);
panel4.add(bu14);
panel4.add(bu15);
panel4.add(bu16);
panel5.add(bu17);
panel5.add(bu18);
panel5.add(bu19);
panel5.add(bu20);
panel5.add(bu21);
panel5.add(bu22);
panel6.add(bu23);
panel6.add(bu24);
panel6.add(bu25);
panel6.add(bu26);
panel6.add(bu27);
panel6.add(bu28);
this.getContentPane().add(panel1);
this.getContentPane().add(panel2);
this.getContentPane().add(panel3);
this.getContentPane().add(panel4);
this.getContentPane().add(panel5);
this.getContentPane().add(panel6);
bu1.setEnabled(false);
bu2.setForeground(Color.red);
bu3.setForeground(Color.red);
bu4.setForeground(Color.red);

bu5.setForeground(Color.red);
bu6.setForeground(Color.blue);
bu7.setForeground(Color.blue);
bu8.setForeground(Color.blue);
bu9.setForeground(Color.red);
bu10.setForeground(Color.blue);

bu11.setForeground(Color.red);
bu12.setForeground(Color.blue);
bu13.setForeground(Color.blue);
bu14.setForeground(Color.blue);
bu15.setForeground(Color.red);
bu16.setForeground(Color.blue);

bu17.setForeground(Color.red);
bu18.setForeground(Color.blue);
bu19.setForeground(Color.blue);
bu20.setForeground(Color.blue);
bu21.setForeground(Color.red);
bu22.setForeground(Color.blue);

bu23.setForeground(Color.red);
bu24.setForeground(Color.blue);
bu25.setForeground(Color.blue);
bu26.setForeground(Color.blue);
bu27.setForeground(Color.red);
bu28.setForeground(Color.red);

bu2.addActionListener(new bu2_4());
bu3.addActionListener(new bu2_4());
bu4.addActionListener(new bu2_4());

bu6.addActionListener(new bu6_28());
bu7.addActionListener(new bu6_28());
bu8.addActionListener(new bu6_28());
bu9.addActionListener(new bu6_28());
bu12.addActionListener(new bu6_28());
bu13.addActionListener(new bu6_28());
bu14.addActionListener(new bu6_28());
bu15.addActionListener(new bu6_28());
bu18.addActionListener(new bu6_28());
bu19.addActionListener(new bu6_28());
bu20.addActionListener(new bu6_28());
bu21.addActionListener(new bu6_28());
bu27.addActionListener(new bu6_28());
bu28.addActionListener(new bu6_28());
this.setSize(320,300);
this.setVisible(true);
this.addWindowListener(new windows());
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
}
class windows extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{

int y=JOptionPane.showConfirmDialog(null,"是否退出","注意",JOptionPane.YES_OPTION,JOptionPane.WARNING_MESSAGE);
if(y==JOptionPane.YES_OPTION)
dispose();
System.out.println("程序退出!");


}
}
class bu2_4 implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==bu2)
{
field.setText("");
field.requestFocus();
}
else
if(e.getSource()==bu3)
{
field.setText("");
field.requestFocus();
}
else
if(e.getSource()==bu4)
{
field.setText("");
field.requestFocus();
}
}
}
class bu6_28 implements ActionListener
{
public void actionPerformed(ActionEvent e)
{

}
}

public static void main(String arc[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
new app();
}
}


----------------解决方案--------------------------------------------------------
  相关解决方案