版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《法律知識(shí)培訓(xùn)教材》課件
- 電氣知識(shí)技能培訓(xùn)課件
- 棉花噴藥知識(shí)培訓(xùn)課件
- 2024年汽車(chē)租賃與汽車(chē)文化推廣活動(dòng)合作合同規(guī)范文本3篇
- 2025年度智能城市基礎(chǔ)設(shè)施建設(shè)承包經(jīng)營(yíng)協(xié)議3篇
- 2024年高級(jí)護(hù)理專(zhuān)家聘用合同
- 養(yǎng)生健康知識(shí)培訓(xùn)課件
- 2024文藝巡回演出志愿者招募與管理服務(wù)合同3篇
- 2024年貨運(yùn)代理合作伙伴3篇
- 鄭州電力高等專(zhuān)科學(xué)?!秾?zhuān)業(yè)護(hù)理基礎(chǔ)(二)》2023-2024學(xué)年第一學(xué)期期末試卷
- 融資服務(wù)(居間)協(xié)議帶分流表參考
- 《儀器分析》課后習(xí)題答案
- 淺層氣浮的工藝原理及操作
- 醫(yī)療器械風(fēng)險(xiǎn)管理計(jì)劃
- 北京保險(xiǎn)中介行業(yè)營(yíng)銷(xiāo)員增員及流動(dòng)自律公約
- 柴油發(fā)電機(jī)施工方案33709
- 外來(lái)施工單位人員報(bào)備登記表完整
- 100以?xún)?nèi)加減法混合[列豎式運(yùn)算練習(xí)]
- 深圳市建設(shè)工程施工圍擋圖集(試行版_下半部分).pdf
- 全國(guó)城市雕塑行業(yè)設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)
- 質(zhì)量管理組織機(jī)構(gòu)及職責(zé)
評(píng)論
0/150
提交評(píng)論