|k.getKeyCode()==10)
{
tempInKey=scn.getText(); //num1
keyDown=String.valueOf(k.getKeyChar()); //char to String
System.out.print(k.getKeyChar());
if (flag)
{
tempInKey= \
flag=false;
}
if (k.getKeyChar()=='+'|k.getKeyChar()=='-'|k.getKeyChar()=='*'|
k.getKeyChar()=='/')
{
if (scn.getText().equals(\等于时没有内容的处理
return;
num1=Float.parseFloat(scn.getText());
opChar=k.getKeyChar();
scn.setText(\
}
else if (k.getKeyChar()=='='|k.getKeyCode()==10) //calculate
{
try{
System.out.println(opChar);
if (scn.getText().equals(\等于时没有内容的处理
return;
num2=Float.parseFloat(scn.getText());
if (opChar=='+')
num2=num1+num2;
else if (opChar=='-')
num2=num1-num2;
else if (opChar=='*')
num2=num1*num2;
else if (opChar=='/')
{
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
scn.setText(tempInKey+keyDown); //set
}
else
return;
}
} }
class CountFrame extends Frame //construct a frame {
public CountFrame(String title)
{
super(title);
MainPanel t=new MainPanel(); //Main Panel
add(t); //add MainFrame
addWindowListener(new end()); //add listener
}
class end extends WindowAdapter //close the window,inner class
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
} }
class Count //main() {
public static void main(String args[])
{
CountFrame frm=new CountFrame(\计算器\
frm.setSize(220,180); //new frame,go above
frm.show();
} }
第7题加事件处理:
//PhoneBook.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class PhoneBook extends MouseAdapter implements ActionListener {
JFrame mainFrm;
JTextField t1;
JTextField t2;
JList dataList;
String[] data;
String[] phone;
int now=-1;
void go()
{
mainFrm=new JFrame();
mainFrm.setTitle(\电话簿程序\
mainFrm.setSize(400,200);
mainFrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);