包裝袋;
導入Java . awt . *;
導入Java . awt . event . *;
導入javax . swing . *;
導入javax . swing . swing utilities;
導入Java . awt . borderlayout;
導入javax . swing . jpanel;
導入javax . swing . jframe;
導入javax . swing . jtextfield;
導入Java . awt . *;
導入Java . awt . event . *;
導入javax . swing . jbutton;
導入Java . awt . dimension;
公共類SCul擴展JFrame {
private static final long serialVersionUID = 1L;
公共JTextField JTextField 1;
私有靜態字符串s1,s2,s,s3,S4;
私有靜態雙結果;
公共組件createComponents(){
最終JButton b1、b2、b3、b4、b5、b6、b7、b8、b9、b10、b16、b12、b13、b14、b15、b16、b17、b18、b19
GridLayout GL 1 = new GridLayout(4,5);
JPanel panel 1 = new JPanel();
panel 1 . set layout(GL 1);
b 1 = new JButton(" 1 ");b 1 . settext(" 1 ");b 1 . set foreground(color . blue);
B2 = new JButton(" 2 ");B2 . settext(" 2 ");B2 . set foreground(color . blue);
B3 = new JButton(" 3 ");B3 . settext(" 3 ");B3 . set foreground(color . blue);
B6 = new JButton(" 4 ");B6 . settext(" 4 ");B6 . set foreground(color . blue);
B7 = new JButton(" 5 ");B7 . settext(" 5 ");B7 . set foreground(color . blue);
b8 = new JButton(" 6 ");b8 . settext(" 6 ");b8 . set foreground(color . blue);
b 11 = new JButton(" 7 ");b 11 . settext(" 7 ");b 11 . set foreground(color . blue);
b 12 = new JButton(" 8 ");b 12 . settext(" 8 ");b 12 . set foreground(color . blue);
b 13 = new JButton(" 9 ");b 13 . settext(" 9 ");b 13 . set foreground(color . blue);
b 16 = new JButton(" 0 ");b 16 . settext(" 0 ");b 16 . set foreground(color . blue);
b4 =新JButton("+");B4 . settext("+");B4 . set foreground(color . red);
b5 = new JButton(" C ");b5 . settext(" C ");b5 . set foreground(color . red);
b9 =新JButton("-");B9 . settext("-");B9 . set foreground(color . red);
B10=new JButton("退格");B10.setText("退格");b 10 . set foreground(color . red);
b 14 = new JButton(" * ");b 14 . settext(" * ");b 14 . set foreground(color . red);
b 15 = new JButton(" 1/x ");b 15 . settext(" 1/x ");b 15 . set foreground(color . blue);
b 17 =新的JButton("+/-");b 17 . settext("+/-");b 17 . set foreground(color . blue);
b 18 =新的JButton(" . ");b18.setText(" .);B4 . set foreground(color . blue);
b 19 =新JButton("/");b 19 . settext("/");b 19 . set foreground(color . red);
b20 = new JButton(" = ");b20 . settext(" = ");b20 . set foreground(color . red);
//設置大小和顏色
b1.setSize(100,100);
b2.setSize(100,100);
b3.setSize(100,100);
b4.setSize(100,100);
b5.setSize(100,100);
b6.setSize(100,100);
b7.setSize(100,100);
b8.setSize(100,100);
b9.setSize(100,100);
b10.setSize(100,100);
b 11 . setsize(100,100);
b12.setSize(100,100);
b13.setSize(100,100);
b14.setSize(100,100);
b15.setSize(100,100);
b16.setSize(100,100);
b17.setSize(100,100);
b18.setSize(100,100);
b19.setSize(100,100);
b20.setSize(100,100);
panel 1 . add(b 1);
panel 1 . add(B2);
panel 1 . add(B3);
panel 1 . add(B4);
panel 1 . add(b5);
panel 1 . add(B6);
panel 1 . add(B7);
panel 1 . add(b8);
panel 1 . add(B9);
panel 1 . add(b 10);
panel 1 . add(b 11);
panel 1 . add(b 12);
panel 1 . add(b 13);
panel 1 . add(b 14);
panel 1 . add(b 15);
panel 1 . add(b 16);
panel 1 . add(b 17);
panel 1 . add(b 18);
panel 1 . add(b 19);
panel 1 . add(b20);
panel 1 . set visible(true);
B1。addactionlistener(new action listener(){//press 1。
public void action performed(action event e){
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b1.getText()。toString()));
s=jTextField1.getText()。toString();
}
});
B2。addactionlistener(new action listener(){//按2。
public void action performed(action event e){
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b2.getText()。toString()));
s=jTextField1.getText()。toString();
}
});
B3。添加動作監聽器(New Action Listener(){//按3。
public void action performed(action event e){
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b3.getText()。toString()));
s=jTextField1.getText()。toString();
}
});
B6。addactionlistener(new action listener(){//按4。
public void action performed(action event e){
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b6.getText()。toString()));
s=jTextField1.getText()。toString();
}
});
B7 . addactionlistener(new action listener(){//按5。
public void action performed(action event e){
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b7.getText()。toString()));
s=jTextField1.getText()。toString();
}
});
b8 . addactionlistener(new action listener(){//按6。
public void action performed(action event e){
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b8.getText()。toString()));
s=jTextField1.getText()。toString();
}
});
B11。addactionlistener(new action listener()){//按7。
public void action performed(action event e){
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b11.getText()。toString()));
s=jTextField1.getText()。toString();
}
});
B12。添加動作監聽器(New Action Listener(){//按8。
public void action performed(action event e){
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b12.getText()。toString()));
s=jTextField1.getText()。toString();
}
});
B13。添加動作監聽器(New Action Listener(){//按9。
public void action performed(action event e){
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b13.getText()。toString()));
s=jTextField1.getText()。toString();
}
});
B16。addactionlistener(newactionlistener(){//按0。
public void action performed(action event e){
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b16.getText()。toString()));
s=jTextField1.getText()。toString();
}
});
B4。addactionlistener(new action listener(){//press+
public void action performed(action event e){
if(s== " ")
{
s = " 0
jtextfield 1 . settext(s);
}
否則{
s 1 = s;//將第壹個操作數保存到s1。
S3 = "+";
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b4.getText()。toString()));
s=jTextField1.getText()。toString();
}
}
});
B9。addactionlistener(new action listener(){//Press-
public void action performed(action event e){
if(s== " ")
{
s = " 0
jtextfield 1 . settext(s);
}
否則{
s 1 = s;//將第壹個操作數保存到s1。
S3 = "-";
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b9.getText()。toString()));
s=jTextField1.getText()。toString();
}
}
});
B14。addactionlistener(new action listener(){//press *
public void action performed(action event e){
if(s== " ")
{
s = " 0
jtextfield 1 . settext(s);
}
否則{
s 1 = s;//將第壹個操作數保存到s1。
s3 = " *
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b14.getText()。toString()));
s=jTextField1.getText()。toString();
}
}
});
B19。addactionlistener(new action listener(){//press/
public void action performed(action event e){
if(s== " ")
{
s = " 0
jtextfield 1 . settext(s);
}
否則{
s 1 = s;//將第壹個操作數保存到s1。
S3 = "/";
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b19.getText()。toString()));
s=jTextField1.getText()。toString();
}
}
});
B5。addactionlistener(new action listener(){//按c重置。
public void action performed(action event e){
s = " 0
jtextfield 1 . settext(s);
}
});
B10。addactionlistener(newactionlistener(){//按退格鍵。
public void action performed(action event e){
int l = s . length();
如果(l!=0)
s=s.substring(0,l-1);//刪除壹個字符
其他
{
s = " 0
S4 = "+";
}
jtextfield 1 . settext(s);//在單行編輯框中顯示刪除的字符串。
}
});
b15.addActionListener(新ActionListener(){
public void action performed(action event e){//查找倒數。
if(s=="" || s=="0 ")
{
s = " 0
jtextfield 1 . settext(" 0 ");
}
否則{
result = 1/double . parse double(s);
s=String.valueOf(結果);
jtextfield 1 . settext(S4+s);
}
}
});
B17。添加操作監聽器(新操作監聽器(){//Press+/-
public void action performed(action event e){
if(s== " ")
{
jtextfield 1 . settext(" 0 ");
}否則{
if(s4=="+")
{ S4 = "-";
jtextfield 1 . settext(S4+s);
}
否則{
S4 = "+";
jtextfield 1 . settext(S4+s);
}
}
}
});
B18。addactionlistener(new action listener(){//press。
public void action performed(action event e){
jtextfield 1 . settext(jtextfield 1 . gettext()。concat(b18.getText()。toString()));
s=jTextField1.getText()。toString();
}
});
B20。addactionlistener(newactionlistener(){//按=查找結果。
已執行公共void操作(action event e){//查找結果。
if(s== " ")
{
s = " 0
S4 = "+";
s3 =
jtextfield 1 . settext(s);
}
否則如果(s!=""){
int m 1 = s . index of(S3);
s1=s.substring(0,m 1);
S2 = s . substring(m 1+1,s . length());
if(S4 = = "+" {
if(s3=="+")
result = double . parse double(s 1)+double . parse double(S2);
if(s3=="-")
result = double . parse double(s 1)-double . parse double(S2);
if(s3=="* ")
result = double . parse double(s 1)* double . parse double(S2);
if(S3 = = "/" & amp;& amps2!= " 0 " & amp& amps2!="")
result = double . parse double(s 1)/double . parse double(S2);
if(S3 = = "/" & amp;& amp(s2=="0" || s2== " "))
結果= 00.00;
s=String.valueOf(結果);
}
else if(s4=="-")
if(S3 = = "+" {
result = double . parse double(S2)-double . parse double(s 1);
s=String.valueOf(結果);
}
if(S3 = = "-" {
result = double . parse double(s 1)+double . parse double(S2);
s = "-"+string . value of(result);
}
if(s3=="*"){
result = double . parse double(s 1)* double . parse double(S2);
s = "-"+string . value of(result);
}
if(S3 = = "/" & amp;& amp(s2!="0" || s2!="")){
result = double . parse double(s 1)/double . parse double(S2);
s = "-"+string . value of(result);
}
if(S3 = = "/" & amp;& amps2 = = " 0 " & amp& amps2== " ")
{
s = " 00.00
}
}
jtextfield 1 . settext(s);
}
}
});
返回面板1;
}
公共靜態void main(String[] args) {
SCul cul 1 = new SCul();
JFrame 1 = New JFrame("計算器");
frame 1 . set background(color . light gray);
frame 1 . add(cul 1 . jtextfield 1,BorderLayout。北);
frame 1 . setresizable(false);
組件內容= cul 1 . create components();
frame1.getContentPane()。添加(內容,BorderLayout。南);
frame 1 . setdefaultcloseoperation(JFrame。EXIT _ ON _ CLOSE);
frame 1 . pack();
frame 1 . set visible(true);
}
/**
*這是默認的構造函數
*/
公共學校(){
super();
JTextField 1 = new JTextField();
s =
s 1 = " ";
s2 =
s3 =
S4 = "+";
jtextfield 1 . settext(s);
JTextField 1 . sethorizontal alignment(JTextField。對);
}
}
壹個簡單的計算器,如圖所示,可以完成任何標準的運算,計算器可以用來進行基本的算術運算,比如加減法。