解析JAVA程序设计第六章课后答案(3)

2019-08-30 16:43

import java.awt.*;

import java.awt.event.*;

class MainPanel extends Panel //Screen Panle class {

TextField scn=new TextField(\

String

str[]={\

Button btn[]=new Button[str.length];

Button clear=new Button(\清除\

String temp,op,tempInKey,keyDown; //??

char opChar; //?

public float num1,num2;

boolean flag;

MainPanel()

{

Panel ScreenPanel = new Panel(); //Screen Panel

ScreenPanel.setLayout(new BorderLayout());//Screen in the north

ScreenPanel.add(scn,BorderLayout.CENTER);

scn.disable(); //can not receive event

keyInput kPut=new keyInput(); //keyAction

scn.addKeyListener(kPut);

Panel ButtonPanel = new Panel(); //Button Panel

ButtonPanel.setLayout(new GridLayout(4,4));

for (int i=0;i<16;i++)

{

btn[i]=new Button(str[i]); //new Button

ButtonPanel.add(btn[i]); //add to panel

btn[i].addActionListener(new lsn());

btn[i].addKeyListener(kPut); //buttons be listened

}

Panel ButtonPane2 = new Panel(); //Button Panel

ButtonPane2.add(clear);

clear.addActionListener(new lsn());

clear.addKeyListener(kPut);

setLayout(new BorderLayout()); //Main panel

add(ScreenPanel,BorderLayout.NORTH);

add(ButtonPanel,BorderLayout.CENTER);

add(ButtonPane2,BorderLayout.SOUTH);

}

class lsn implements ActionListener //listener

{

public void actionPerformed(ActionEvent e)

{

temp=scn.getText(); //save the numbers on screen first

if (flag)

{

temp= \

flag=false;

}

if (e.getActionCommand()==\

|e.getActionCommand()==\

{ //if operation clicked

if (scn.getText().equals(\等于时没有内容的处理

return;

num1=Float.parseFloat(scn.getText());

op=e.getActionCommand(); //operation type

scn.setText(\

}

else if (e.getActionCommand()==\

{

try{

if (scn.getText().equals(\等于时没有内容的处理

return;

num2=Float.parseFloat(scn.getText());

if (op==\

num2=num1+num2;

else if (op==\

num2=num1-num2;

else if (op==\

num2=num1*num2;

else if (op==\

{

if(num2 < 0.0000001 & num2>0.00000001)

{

scn.setText(\不能做除数\

flag=true;

return;

}

num2=num1/num2;

}

scn.setText(String.valueOf(num2));

flag=true;

}

catch(ArithmeticException ex)

{

System.out.println(ex.toString());

}

}

else if (e.getActionCommand()==\清除\

scn.setText(\

else //add to screen

scn.setText(temp+e.getActionCommand()); //setText

}

}

class keyInput extends KeyAdapter

{

public void keyPressed (KeyEvent k)

{

if ((k.getKeyCode()>47 & k.getKeyCode()<58) | (k.getKeyCode()>96 & k.getKeyCode()<112)


解析JAVA程序设计第六章课后答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公安机关组织管理机构改革初探(修改后3)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: