用java編寫(xiě)的計(jì)算器的代碼_第1頁(yè)
用java編寫(xiě)的計(jì)算器的代碼_第2頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGE15/NUMPAGES15用java編寫(xiě)的計(jì)算器的代碼?packagecy_l;

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassCalculatorextendsJFrameimplementsActionListener

{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

JFrameframe;

JButtonjia=newJButton("+");

JButtonjian=newJButton("-");

JButtoncheng=newJButton("*");

JButtonchu=newJButton("/");

JButtonqiuyi=newJButton("%");

JButtondeng=newJButton("=");

JButtonfu=newJButton("+/-");

JButtondian=newJButton(".");

JButtonkai=newJButton("sqrt");

JButtondiao=newJButton("1/x");

JButtonaa=newJButton("A");

JButtonbb=newJButton("B");

JButtoncc=newJButton("C");

JButtondd=newJButton("D");

JButtonee=newJButton("E");

JButtonff=newJButton("F");

TextFieldk1=newTextField();

objConversionconvert=newobjConversion();

JMenuItemcopy,paste,s,t,help,about,Team;

JRadioButtonsixteen,ten,eight,two;

JButtonbackspace,ce,c,num0,num1,num2,num3,num4,num5,num6,num7,num8,num9;

Containercp;

JTextFieldtext;

Stringcopycontent="";

booleanclickable=true,clear=true;

intall=0;

doubleqian;

Stringfuhao;

intjin=10,first=1;

publicCalculator()

{

setTitle("計(jì)算器");

setSize(400,300);

setLocation(250,200);

text=newJTextField(25);

//text.setEnabled(false);

text.setText("0");

text.setHorizontalAlignment(JTextField.RIGHT);//從右到左

JPanelcp1=newJPanel();

JPanelcp2=newJPanel();

JPanelcp3=newJPanel();

cp=getContentPane();

cp.add(cp1,"North");

cp.add(cp2,"Center");

cp.add(cp3,"South");

cp1.setLayout(newGridLayout(1,6));

cp2.setLayout(newGridLayout(2,4));

cp3.setLayout(newGridLayout(6,6));

sixteen=newJRadioButton("十六進(jìn)制");

sixteen.setVisible(false);

ten=newJRadioButton("十進(jìn)制",true);

ten.setVisible(false);

eight=newJRadioButton("八進(jìn)制");

eight.setVisible(false);

two=newJRadioButton("二進(jìn)制");

two.setVisible(false);

sixteen.addActionListener(this);

ten.addActionListener(this);

eight.addActionListener(this);

two.addActionListener(this);

ButtonGroupbtg=newButtonGroup();

btg.add(sixteen);

btg.add(ten);

btg.add(eight);

btg.add(two);

cp1.add(text);

//text.setEnabled(false);

text.setEditable(false);

text.setBackground(newColor(255,255,255));

cp2.add(sixteen);

cp2.add(ten);

cp2.add(eight);

cp2.add(two);

backspace=newJButton("Backspace");

backspace.setForeground(newColor(255,0,0));

backspace.addActionListener(this);

ce=newJButton("CE");

ce.setForeground(newColor(255,0,0));

ce.addActionListener(this);

c=newJButton("C");

c.setForeground(newColor(255,0,0));

c.addActionListener(this);

k1.setVisible(false);

cp2.add(k1);

cp2.add(backspace);

cp2.add(ce);

cp2.add(c);

num0=newJButton("0");

num1=newJButton("1");

num2=newJButt

on("2");

num3=newJButton("3");

num4=newJButton("4");

num5=newJButton("5");

num6=newJButton("6");

num7=newJButton("7");

num8=newJButton("8");

num9=newJButton("9");

cp3.add(num1);

num1.addActionListener(this);

cp3.add(num2);

num2.addActionListener(this);

cp3.add(num3);

num3.addActionListener(this);

///

cp3.add(cheng);

cheng.setForeground(newColor(255,0,0));

cheng.addActionListener(this);

cp3.add(kai);

kai.addActionListener(this);

cp3.add(num4);

num4.addActionListener(this);

cp3.add(num5);

num5.addActionListener(this);

cp3.add(num6);

num6.addActionListener(this);

///

cp3.add(chu);

chu.setForeground(newColor(255,0,0));

chu.addActionListener(this);

cp3.add(qiuyi);

qiuyi.addActionListener(this);

cp3.add(num7);

num7.addActionListener(this);

cp3.add(num8);

num8.addActionListener(this);

cp3.add(num9);

num9.addActionListener(this);

///

cp3.add(jian);

jian.setForeground(newColor(255,0,0));

jian.addActionListener(this);

cp3.add(diao);

diao.addActionListener(this);

cp3.add(num0);

num0.addActionListener(this);

cp3.add(fu);

fu.addActionListener(this);

cp3.add(dian);

dian.addActionListener(this);

cp3.add(jia);

jia.setForeground(newColor(255,0,0));

jia.addActionListener(this);

cp3.add(deng);

deng.setForeground(newColor(255,0,0));

deng.addActionListener(this);

cp3.add(aa);

aa.addActionListener(this);

cp3.add(bb);

bb.addActionListener(this);

cp3.add(cc);

cc.addActionListener(this);

cp3.add(dd);

dd.addActionListener(this);

cp3.add(ee);

ee.addActionListener(this);

cp3.add(ff);

ff.addActionListener(this);

aa.setVisible(false);

bb.setVisible(false);

cc.setVisible(false);

dd.setVisible(false);

ee.setVisible(false);

ff.setVisible(false);

///有了這個(gè)按鈕就能按了

num0.addKeyListener(newMyListener());

num1.addKeyListener(newMyListener());

num2.addKeyListener(newMyListener());

num3.addKeyListener(newMyListener());

num4.addKeyListener(newMyListener());

num5.addKeyListener(newMyListener());

num6.addKeyListener(newMyListener());

num7.addKeyListener(newMyListener());

num8.addKeyListener(newMyListener());

num9.addKeyListener(newMyListener());

jian.addKeyListener(newMyListener());

dian.addKeyListener(newMyListener());

jia.addKeyListener(newMyListener());

cheng.addKeyListener(newMyListener());

chu.addKeyListener(newMyListener());

deng.addKeyListener(newMyListener());

backspace.addKeyListener(newMyListener());

qiuyi.addKeyListener(newMyListener());

aa.addKeyListener(newMyListener());

bb.addKeyListener(newMyListener());

cc.addKeyListener(newMyListener());

ee.addKeyListener(newMyListener());

ff.addKeyListener(newMyListener());

///

JMenuBarmainMenu=newJMen

uBar();

setJMenuBar(mainMenu);

JMenueditMenu=newJMenu("編輯");

JMenuviewMenu=newJMenu("查看");

JMenuhelpMenu=newJMenu("幫助");

mainMenu.add(editMenu);

mainMenu.add(viewMenu);

mainMenu.add(helpMenu);

//////////////////////////////////////////

//mainMenu.add(TeamMenu);

//////////////////////////////////////////

copy=newJMenuItem("復(fù)制");

paste=newJMenuItem("粘貼");

KeyStrokecopyks=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);

copy.setAccelerator(copyks);//設(shè)置退出菜單選項(xiàng)加上快捷鍵

KeyStrokepasteks=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);

paste.setAccelerator(pasteks);//設(shè)置退出菜單選項(xiàng)加上快捷鍵

editMenu.add(copy);

editMenu.add(paste);

copy.addActionListener(this);

paste.addActionListener(this);

t=newJMenuItem("●標(biāo)準(zhǔn)型");

s=newJMenuItem("科學(xué)型");

viewMenu.add(t);

viewMenu.add(s);

t.addActionListener(this);

s.addActionListener(this);

help=newJMenuItem("幫助主題");

about=newJMenuItem("關(guān)于計(jì)算器");

Team=newJMenuItem("制作人員");

helpMenu.add(help);

helpMenu.add(about);

help.addActionListener(this);

about.addActionListener(this);

helpMenu.add(Team);

Team.addActionListener(this);

addWindowListener(newWindowDestroyer());//結(jié)束窗口

}

publicvoidactionPerformed(ActionEvente)

{//響應(yīng)動(dòng)作代碼

if(first==1)

text.setText("");

first=0;//第一次把文本框0.清空

Objecttemp=e.getSource();

if(temp==copy)

{

copycontent=text.getText();

}

if(temp==paste)

{

text.setText(text.getText()+copycontent);

}

if(temp==t)

{//標(biāo)準(zhǔn)

sixteen.setVisible(false);

ten.setVisible(false);

eight.setVisible(false);

two.setVisible(false);

t.setText("●標(biāo)準(zhǔn)型");

s.setText("科學(xué)型");

aa.setVisible(false);

bb.setVisible(false);

cc.setVisible(false);

dd.setVisible(false);

ee.setVisible(false);

ff.setVisible(false);

}

if(temp==s)

{//科學(xué)

sixteen.setVisible(true);

ten.setVisible(true);

eight.setVisible(true);

two.setVisible(true);

t.setText("標(biāo)準(zhǔn)型");

s.setText("●科學(xué)型");

aa.setVisible(true);

bb.setVisible(true);

cc.setVisible(true);

dd.setVisible(true);

ee.setVisible(true);

ff.setVisible(true);

aa.setEnabled(false);

bb.setEnabled(false);

cc.setEnabled(false);

dd.setEnabled(false);

ee.setEnabled(false);

ff.setEnabled(false);

}

if(temp==help)

{//打開(kāi)系統(tǒng)幫助文件要查資料

try

{

StringfilePath="C:/WINDOWS/Help/calc.chm";

Runtime.getRuntime().exec("cmd.exe/c"+filePath);

}

catch(Exceptioneeee)

{

System.out.println("打開(kāi)系統(tǒng)的計(jì)算器出錯(cuò)");

}

}

//說(shuō)明小組成員和計(jì)算器版本?。。?/p>

if(temp==about)

{

JOptionPane.showMessageDialog(frame,"這是我們小組的計(jì)算器"+

"版本3.0","版本",http://./doc/b4c2dfebf8c75fbfc77db2e1.htmlRMATION_MESSAGE);

}

if(temp==Team)

{{

JOptionPane.showMessageDialog(frame,"制作人員:林財(cái)源,梁秀娟,王啟俊,鄭榮偉(名字按字母開(kāi)頭排序)","制作人員",http://./doc/b4c2dfebf8c75fbfc77db2e1.htmlRMATION_MESSAGE);

}

try

{

}

catch(Exceptioneeee)

{

System.out.println("打開(kāi)出錯(cuò)");

}

}

try

{

if(temp==sixteen)

{

Stringhex=text.getText();

intinthex=Integer.parseInt(hex,jin);//先把數(shù)變?yōu)?0進(jìn)制

text.setText(convert.decHex(inthex));

jin=16;

aa.setEnabled(true);

bb.setEnabled(true);

cc.setEnabled(true);

dd.setEnabled(true);

ee.setEnabled(true);

ff.setEnabled(true);

num2.setEnabled(true);

num3.setEnabled(true);

num4.setEnabled(true);

num5.setEnabled(true);

num6.setEnabled(true);

num7.setEnabled(true);

num8.setEnabled(true);

num9.setEnabled(true);

}

if(temp==eight)

{

Stringoct=text.getText();

intintoct=Integer.parseInt(oct,jin);

text.setText(convert.decOct(intoct));

jin=8;

aa.setEnabled(false);

bb.setEnabled(false);

cc.setEnabled(false);

dd.setEnabled(false);

ee.setEnabled(false);

ff.setEnabled(false);

num2.setEnabled(true);

num3.setEnabled(true);

num4.setEnabled(true);

num5.setEnabled(true);

num6.setEnabled(true);

num7.setEnabled(true);

num8.setEnabled(false);

num9.setEnabled(false);

}

if(temp==two)

{

Stringbin=text.getText();

intintbin=Integer.parseInt(bin,jin);

text.setText(convert.decBin(intbin));

jin=2;

aa.setEnabled(false);

bb.setEnabled(false);

cc.setEnabled(false);

dd.setEnabled(false);

ee.setEnabled(false);

ff.setEnabled(false);

num2.setEnabled(false);

num3.setEnabled(false);

num4.setEnabled(false);

num5.setEnabled(false);

num6.setEnabled(false);

num7.setEnabled(false);

num8.setEnabled(false);

num9.setEnabled(false);

}

if(temp==ten)

{

Stringdec=text.getText();

intintdec=Integer.parseInt(dec,jin);

//text.setText(convert.decDec(intdec));//本句會(huì)把123變成321

text.setText(intdec+"");

jin=10;

aa.setEnabled(false);

bb.setEnabled(false);

cc.setEnabled(false);

dd.setEnabled(false);

ee.setEnabled(false);

ff.setEnabled(false);

num2.setEnabled(true);

num3.setEnabled(true);

num4.setEnabled(true);

num5.setEnabled(true);

num6.setEnabled(true);

num7.setEnabled(true);

num8.setEnabled(true);

num9.setEnabled(true);

}

}

catch(Exceptionee)

{

System.out.println("轉(zhuǎn)換出錯(cuò),可能你沒(méi)有輸入任何字符");

text.setText("轉(zhuǎn)換出錯(cuò)");

clear=false;

}

if(temp==backspace)

{//退格

Strings=text

.getText();

text.setText("");

for(inti=0;i15)

{

currentNum=decNum%16;

decNum/=16;

}

else

{

currentNum=decNum;

decNum=0;

}

switch(currentNum)

{

case15:strHexNum+="F";

break;

case14:strHexNum+="E";

break;

case13:strHexNum+="D";

break;

case12:strHexNum+="C";

break;

case11:strHexNum+="B";

break;

case10:strHexNum+="A";

break;

default:strHexNum+=Integer.toString(currentNum);

break;

}

}

returninvert(strHexNum,2);

}

publicStringdecOct(intdecNum)

{//10to8

StringstrOctNum="";

while(decNum!=0)

{

if(decNum>7)

{

strOctNum+=Integer.toString(decNum%8);

decNum/=8;

}

else

{

strOctNum+=Integer.toString(decNum);

decNum=0;

}

}

returninvert(strOctNum,3);

}

publicStringdecBin(intdecNum)

{//10to2

StringstrBinNum="";

while(decNum!=0)

{

if(decNum>1)

{

strBinNum+=Integer.toString(decNum%2);

decNum/=2;

}

else

{

strBinNum+=Integer.toString(decNum);

decNum=0;

}

}

returninvert(strBinNum,8);

}

privateStringinvert(StringstrNum,intminLength)//轉(zhuǎn)換長(zhǎng)度

{

Stringanswer="";

intlength=strNum.length();

if(length0;padding--)

{

answer+="0";

}

}

for(inti=length;i>0;i--)

{

answer+=strNum.charAt(i-1);

}

returnanswer;

}

}

publicstaticvoidmain(Stringarg[])//產(chǎn)生窗口

{

Calculatorwin=newCalculator();

win.setVisible(true);

}

/*************鍵盤(pán)事件************/

publicclassMyListenerextendsKeyAdapter

{

publicvoidkeyPressed(KeyEvente){

//TODO自動(dòng)生成方法存根

//從鍵盤(pán)讀入數(shù)字

if(e.getKeyChar()=='0'){

num0.doClick();

}

if(e.getKeyChar()=='1'){

num1.doClick();

}

if(e.getKeyChar()=='2'){

num2.doClick();

}

if(e.getKeyChar()=='3'){

num3.doClick();

}

if(e.getKeyChar()=='4'){

num4.doClick();/r

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論