★★★★★计算器(java)源码火爆征集中★★★★★ 各位大哥大姐,给个面子,秀一下你们的计算器,最好有个图片,呵呵~~小弟想参考一下~~~由于分数不多,请见谅~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package mypackage;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class JSQ{ public static void main(String[] args) { JSQFrame frame=new JSQFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); }}class JSQFrame extends JFrame{ public JSQFrame() { JPanel panel=new JPanel(); text1=new JTextField(35); text1.setText(""); text1.setEditable(false); panel.add(text1); JSQPanel jsqpanel=new JSQPanel(this); Container contentPane=getContentPane(); contentPane.add(panel,BorderLayout.NORTH); contentPane.add(jsqpanel); setSize(400,200); setTitle("计算器"); setResizable(false); } JTextField text1;}class JSQPanel extends JPanel implements ActionListener{ public JSQPanel(JSQFrame frame) { this.frame=frame; setLayout(new GridLayout(5,5,10,5)); buttonBackSpace=new JButton("BS"); buttonCE=new JButton("CE"); buttonC=new JButton("C"); add(buttonBackSpace); add(new JLabel()); add(buttonCE); add(new JLabel()); add(buttonC); for(int i=7;i<=9;i++) add(button[i]=new JButton(""+i)); buttonCHU=new JButton("/"); buttonSQRT=new JButton("sqrt"); add(buttonCHU); add(buttonSQRT); for(int i=4;i<=6;i++) add(button[i]=new JButton(""+i)); buttonCHENG=new JButton("*"); buttonPERCENT=new JButton("%"); add(buttonCHENG); add(buttonPERCENT); for(int i=1;i<=3;i++) add(button[i]=new JButton(""+i)); buttonJIAN=new JButton("-"); buttonX=new JButton("1/x"); add(buttonJIAN); add(buttonX); button[0]=new JButton("0"); buttonFU=new JButton("+/-"); buttonDIAN=new JButton("."); buttonJIA=new JButton("+"); buttonDENG=new JButton("="); add(button[0]); add(buttonFU); add(buttonDIAN); add(buttonJIA); add(buttonDENG); for(int i=0;i<=9;i++) button[i].addActionListener(this); buttonBackSpace.addActionListener(this); buttonCE.addActionListener(this); buttonC.addActionListener(this); buttonCHU.addActionListener(this); buttonSQRT.addActionListener(this); buttonCHENG.addActionListener(this); buttonPERCENT.addActionListener(this); buttonJIAN.addActionListener(this); buttonX.addActionListener(this); buttonFU.addActionListener(this); buttonDIAN.addActionListener(this); buttonDENG.addActionListener(this); buttonJIA.addActionListener(this); String plaf="com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; try { UIManager.setLookAndFeel(plaf); SwingUtilities.updateComponentTreeUI(this); } catch(Exception e) { } } public void actionPerformed(ActionEvent event) { for(int i=0;i<=9;i++) if(event.getSource()==button[i]) { frame.text1.setText(frame.text1.getText()+i); } if(event.getSource()==buttonJIA) { if(!frame.text1.getText().equals("")) { DString=""; FUString=""; if(YSFString.equals("+")) { num1=num1+Double.parseDouble(frame.text1.getText()); frame.text1.setText(""); } if(YSFString.equals("")) { num1=Double.parseDouble(frame.text1.getText()); frame.text1.setText(""); YSFString="+"; } } } if(event.getSource()==buttonJIAN) { if(!frame.text1.getText().equals("")) { DString=""; FUString=""; if(YSFString.equals("-")) { num1=num1-Double.parseDouble(frame.text1.getText()); frame.text1.setText(""); } if(YSFString.equals("")) { num1=Double.parseDouble(frame.text1.getText()); frame.text1.setText(""); YSFString="-"; } } } if(event.getSource()==buttonCHENG) { if(!frame.text1.getText().equals("")) { DString=""; FUString=""; if(YSFString.equals("*")) { num1=num1*Double.parseDouble(frame.text1.getText()); frame.text1.setText(""); } if(YSFString.equals("")) { num1=Double.parseDouble(frame.text1.getText()); frame.text1.setText(""); YSFString="*"; } } } if(event.getSource()==buttonCHU) { if(!frame.text1.getText().equals("")) { DString=""; FUString=""; if(YSFString.equals("/")) { num1=num1/Double.parseDouble(frame.text1.getText()); frame.text1.setText(""); } if(YSFString.equals("")) { num1=Double.parseDouble(frame.text1.getText()); frame.text1.setText(""); YSFString="/"; } } } if(event.getSource()==buttonDENG) { DString=""; FUString=""; num2=Double.parseDouble(frame.text1.getText()); if(YSFString.equals("+")) result=num1+num2; if(YSFString.equals("-")) result=num1-num2; if(YSFString.equals("*")) result=num1*num2; if(YSFString.equals("/")) result=num1/num2; frame.text1.setText(""+result); YSFString=""; } if(event.getSource()==buttonC || event.getSource()==buttonCE) frame.text1.setText(""); if(event.getSource()==buttonDIAN) { if(DString=="") frame.text1.setText(frame.text1.getText()+"."); DString="."; } if(event.getSource()==buttonFU) { if(FUString=="") frame.text1.setText(frame.text1.getText()+"-"); FUString="-"; } if(event.getSource()==buttonSQRT) { double d=0; if(!frame.text1.getText().equals("")) d=Double.parseDouble(frame.text1.getText()); frame.text1.setText(""+Math.sqrt(d)); } if(event.getSource()==buttonX) { double d=0; if(!frame.text1.getText().equals("")) { d=Double.parseDouble(frame.text1.getText()); d=1/d; frame.text1.setText(""+d); } } if(event.getSource()==buttonPERCENT) if(!frame.text1.getText().equals("")) { double d=0; d=Double.parseDouble(frame.text1.getText())*100; frame.text1.setText(""+d); } if(event.getSource()==buttonBackSpace) if(!frame.text1.getText().equals("")) { int length=0; String string=""; length=(frame.text1.getText()).length(); System.out.println(length); string=frame.text1.getText(); String str=string.substring(0,length-1); frame.text1.setText(str); } } JButton button[]={null,null,null,null,null,null,null,null,null,null}; JButton buttonBackSpace,buttonCE,buttonC,buttonCHU,buttonSQRT,buttonCHENG, buttonPERCENT,buttonJIAN,buttonX,buttonFU,buttonDIAN,buttonDENG,buttonJIA; JSQFrame frame; double num1=0,num2=0,result=0; String YSFString="",DString="",FUString="";}前些天老师布置的作业!呵呵! 求助!字符串匹配问题! 公式解析器包 求助: 关于缓冲通道问题 用java实现对文件的gzip压缩、tar打包 JTextPane出现排列格式错误(附源码) 求助:高手推荐几本java原版书! 为实现公文审批,需要数字签名,各位帮我提个方案吧?如何实现? 如何将ResultSet序列化? 关于JBUILDER7参考书的问题 不知道有没有那位大虾用过JBuilder,我能不能不用他自带地Tomcat和jdk,怎么弄,定给分,谢谢! 关于算法,求教。 求一Jakarta-ORO正则表达式
import javax.swing.*;
import java.awt.event.*;public class JSQ
{
public static void main(String[] args)
{
JSQFrame frame=new JSQFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}class JSQFrame extends JFrame
{
public JSQFrame()
{
JPanel panel=new JPanel();
text1=new JTextField(35);
text1.setText("");
text1.setEditable(false);
panel.add(text1); JSQPanel jsqpanel=new JSQPanel(this);
Container contentPane=getContentPane();
contentPane.add(panel,BorderLayout.NORTH);
contentPane.add(jsqpanel); setSize(400,200);
setTitle("计算器");
setResizable(false);
}
JTextField text1;
}class JSQPanel extends JPanel implements ActionListener
{
public JSQPanel(JSQFrame frame)
{
this.frame=frame;
setLayout(new GridLayout(5,5,10,5)); buttonBackSpace=new JButton("BS");
buttonCE=new JButton("CE");
buttonC=new JButton("C"); add(buttonBackSpace);
add(new JLabel());
add(buttonCE);
add(new JLabel());
add(buttonC); for(int i=7;i<=9;i++)
add(button[i]=new JButton(""+i));
buttonCHU=new JButton("/");
buttonSQRT=new JButton("sqrt");
add(buttonCHU);
add(buttonSQRT); for(int i=4;i<=6;i++)
add(button[i]=new JButton(""+i));
buttonCHENG=new JButton("*");
buttonPERCENT=new JButton("%");
add(buttonCHENG);
add(buttonPERCENT); for(int i=1;i<=3;i++)
add(button[i]=new JButton(""+i));
buttonJIAN=new JButton("-");
buttonX=new JButton("1/x");
add(buttonJIAN);
add(buttonX); button[0]=new JButton("0");
buttonFU=new JButton("+/-");
buttonDIAN=new JButton(".");
buttonJIA=new JButton("+");
buttonDENG=new JButton("=");
add(button[0]);
add(buttonFU);
add(buttonDIAN);
add(buttonJIA);
add(buttonDENG); for(int i=0;i<=9;i++)
button[i].addActionListener(this);
buttonBackSpace.addActionListener(this);
buttonCE.addActionListener(this);
buttonC.addActionListener(this);
buttonCHU.addActionListener(this);
buttonSQRT.addActionListener(this);
buttonCHENG.addActionListener(this);
buttonPERCENT.addActionListener(this);
buttonJIAN.addActionListener(this);
buttonX.addActionListener(this);
buttonFU.addActionListener(this);
buttonDIAN.addActionListener(this);
buttonDENG.addActionListener(this);
buttonJIA.addActionListener(this);
String plaf="com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
try
{
UIManager.setLookAndFeel(plaf);
SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception e)
{
}
} public void actionPerformed(ActionEvent event)
{
for(int i=0;i<=9;i++)
if(event.getSource()==button[i])
{
frame.text1.setText(frame.text1.getText()+i);
} if(event.getSource()==buttonJIA)
{
if(!frame.text1.getText().equals(""))
{
DString="";
FUString="";
if(YSFString.equals("+"))
{
num1=num1+Double.parseDouble(frame.text1.getText());
frame.text1.setText("");
} if(YSFString.equals(""))
{
num1=Double.parseDouble(frame.text1.getText());
frame.text1.setText("");
YSFString="+";
}
}
} if(event.getSource()==buttonJIAN)
{
if(!frame.text1.getText().equals(""))
{
DString="";
FUString="";
if(YSFString.equals("-"))
{
num1=num1-Double.parseDouble(frame.text1.getText());
frame.text1.setText("");
} if(YSFString.equals(""))
{
num1=Double.parseDouble(frame.text1.getText());
frame.text1.setText("");
YSFString="-";
}
}
}
if(event.getSource()==buttonCHENG)
{
if(!frame.text1.getText().equals(""))
{
DString="";
FUString="";
if(YSFString.equals("*"))
{
num1=num1*Double.parseDouble(frame.text1.getText());
frame.text1.setText("");
} if(YSFString.equals(""))
{
num1=Double.parseDouble(frame.text1.getText());
frame.text1.setText("");
YSFString="*";
}
}
}
if(event.getSource()==buttonCHU)
{
if(!frame.text1.getText().equals(""))
{
DString="";
FUString="";
if(YSFString.equals("/"))
{
num1=num1/Double.parseDouble(frame.text1.getText());
frame.text1.setText("");
} if(YSFString.equals(""))
{
num1=Double.parseDouble(frame.text1.getText());
frame.text1.setText("");
YSFString="/";
}
}
}
if(event.getSource()==buttonDENG)
{
DString="";
FUString="";
num2=Double.parseDouble(frame.text1.getText()); if(YSFString.equals("+"))
result=num1+num2;
if(YSFString.equals("-"))
result=num1-num2;
if(YSFString.equals("*"))
result=num1*num2;
if(YSFString.equals("/"))
result=num1/num2; frame.text1.setText(""+result);
YSFString="";
}
if(event.getSource()==buttonC || event.getSource()==buttonCE)
frame.text1.setText("");
if(event.getSource()==buttonDIAN)
{ if(DString=="")
frame.text1.setText(frame.text1.getText()+".");
DString=".";
}
if(event.getSource()==buttonFU)
{
if(FUString=="")
frame.text1.setText(frame.text1.getText()+"-");
FUString="-";
}
if(event.getSource()==buttonSQRT)
{
double d=0;
if(!frame.text1.getText().equals(""))
d=Double.parseDouble(frame.text1.getText());
frame.text1.setText(""+Math.sqrt(d));
}
if(event.getSource()==buttonX)
{
double d=0;
if(!frame.text1.getText().equals(""))
{
d=Double.parseDouble(frame.text1.getText());
d=1/d;
frame.text1.setText(""+d);
}
}
if(event.getSource()==buttonPERCENT)
if(!frame.text1.getText().equals(""))
{
double d=0;
d=Double.parseDouble(frame.text1.getText())*100;
frame.text1.setText(""+d);
}
if(event.getSource()==buttonBackSpace)
if(!frame.text1.getText().equals(""))
{
int length=0;
String string="";
length=(frame.text1.getText()).length();
System.out.println(length);
string=frame.text1.getText();
String str=string.substring(0,length-1);
frame.text1.setText(str);
}
} JButton button[]={null,null,null,null,null,null,null,null,null,null};
JButton buttonBackSpace,buttonCE,buttonC,buttonCHU,buttonSQRT,buttonCHENG,
buttonPERCENT,buttonJIAN,buttonX,buttonFU,buttonDIAN,buttonDENG,buttonJIA;
JSQFrame frame;
double num1=0,num2=0,result=0;
String YSFString="",DString="",FUString="";
}前些天老师布置的作业!呵呵!