import java.applet.*;import java.awt.*; public class jj extends Applet{ public void paint(Graphics g){ int x=2,y=1; switch(x+y){ case 1: g.setColor(Color.red);g.drawString("i am 1",5,10); break; case 2: g.setColor(Color.red);g.drawString("i am 2",5,10); break; case 3: g.setColor(Color.red);g.drawString("i am 3",5,10); break; default: g.drawString("no found",5,10); } } }
public class jj extends Applet{
public void paint(Graphics g){
int x=2,y=1;
switch(x+y){
case 1:
g.setColor(Color.red);g.drawString("i am 1",5,10);
break;
case 2:
g.setColor(Color.red);g.drawString("i am 2",5,10);
break;
case 3:
g.setColor(Color.red);g.drawString("i am 3",5,10);
break;
default:
g.drawString("no found",5,10);
}
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;/**计算器程序<br>
*@author Universe_void
*@version 03,1,2006
*
*/
public class JiSuanQi extends JFrame implements ActionListener{
double timeStart;
JPanel jp1,jp2,jp3,jp;
JLabel jl;
JTextField jtf;
JButton jb [];
JButton jbsuan[];
JButton jbdeng,jbdian,jbclear,jbsqrt;
BorderLayout borderlayout;
GridLayout gridlayout;
Font font;
Toolkit tkit;
double fristNumber;//保存第一个要运算的DOUBLE 数。
double secondNumber;//保存第二个要运算的DOUBLE 数。
boolean isFristNumber;//判断是否为要运算的第一个数。
boolean isPress;//
double result;//保存两个数运算的结果的DOUBLE 数。
String textString1;//保存第一个要运算String Number。
String textString2;//保存第二个要运算String Number。
String runString;//保存操作的是什么运算符ring Number。 private JiSuanQi (){
isFristNumber=true;
textString1=new String("");
textString2=new String(""); runString=new String("");
tkit=Toolkit.getDefaultToolkit();
Dimension screenSize=tkit.getScreenSize();
Dimension frameSize=this.getSize();
if(frameSize.height>screenSize.height)
frameSize.height=screenSize.height;
if(frameSize.width>screenSize.width)
frameSize.width=screenSize.width;
this.setLocation((screenSize.width-frameSize.width)/3,(screenSize.height-frameSize.height)/3);
jp1=new JPanel();//初始化4个面板
jp2=new JPanel();
jp3=new JPanel();
jp=new JPanel();
jp1.setBackground(Color.blue);
font=new Font("幼体",Font.BOLD,14);
jl=new JLabel("显示框:");
jtf=new JTextField("0.0",12);
jtf.setBackground(Color.blue);
jl.setFont(new Font("幼体",Font.BOLD,12));
jtf.setFont(new Font("幼体",Font.BOLD,12));
jb =new JButton[10];//0到9的JButton
for(int i=0;i<10;i++){//初始化0到9的10个JButton
jb[i]=new JButton(new Integer(i).toString());
jb[i].setFont(font);
jb[i].addActionListener(this);
}
jbsuan=new JButton[4]; jbsuan[0]=new JButton("+");
jbsuan[1]=new JButton("-");
jbsuan[2]=new JButton("*");
jbsuan[3]=new JButton("/");
jbsuan[0].addActionListener(this);
jbsuan[1].addActionListener(this);
jbsuan[2].addActionListener(this);
jbsuan[3].addActionListener(this);
jbdeng=new JButton("=");
jbdian=new JButton(".");
jbsqrt=new JButton("开方");
jbclear=new JButton("清除");
//=new JButton("-/+");
jbdeng.addActionListener(this);
jbdian.addActionListener(this);
jbsqrt.addActionListener(this);
jbclear.addActionListener(this);
//jbjianorjia.addActionListener(this);
jbsuan[0].setFont(font);
jbsuan[1].setFont(font);
jbsuan[2].setFont(font);
jbsuan[3].setFont(font);
jbdeng.setFont(font);
jbdian.setFont(font);
//jbjianorjia.setFont(font);
jbsqrt.setFont(font);
jbclear.setFont(font);
borderlayout=new BorderLayout();//jp的layouter
gridlayout=new GridLayout(4,4,2,2);//jp2的layouter jtf.setEditable(false);//使得JTextField 不可以编辑
setTitle("计算器:");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);//使得JFrame窗口不可以改变
setSize(250,220);
setForeground(Color.orange);
jp.setLayout(borderlayout);
this.getContentPane().add(jp); jp.add("North",jp1);
jp.add("Center",jp2);
jp.add("South",jp3);
jp1.add(jl);
jp1.add(jtf);
jp2.setLayout(gridlayout); for(int i=0;i<10;i++){
jp2.add(jb[i]);
}
jp2.add(jbsuan[0]);
jp2.add(jbsuan[1]);
jp2.add(jbsuan[2]);
jp2.add(jbsuan[3]);
jp2.add(jbdian);
jp2.add(jbdeng);
jp3.add(jbsqrt);
jp3.add(jbclear);
//jp3.add(jbjianorjia);
setVisible(true);//
}
public void actionPerformed(ActionEvent e){
Object object=e.getSource();
//处理点操作。
if(object==jbdian&&!isPress&&isFristNumber){
setFristNumber(jbdian.getText());
isPress=true;
}
if(object==jbdian&&!isPress&&!isFristNumber){
setSecondNumber(jbdian.getText());
isPress=true;
}
//保存第一个数操作。
for(int i=0;i<10;i++){
if((object==jb[i])&&isFristNumber){
//if(object==jbjianorjia){
//}
setFristNumber(jb[i].getText());
}
}
//保存第二个数操作。
for(int i=0;i<10;i++){
if((object==jb[i])&&!isFristNumber){
setSecondNumber(jb[i].getText());
}
}
//判断是什么运算符。
if(object==jbsuan[0]|object==jbsuan[1]|object==jbsuan[2]|object==jbsuan[3]){
if(object==jbsuan[0]&&isFristNumber){
getYunSuanFu(jbsuan[0].getText());
}
if(object==jbsuan[1]&&isFristNumber){
getYunSuanFu(jbsuan[1].getText());
}
if(object==jbsuan[2]&&isFristNumber){
getYunSuanFu(jbsuan[2].getText());
}
if(object==jbsuan[3]&&isFristNumber){
getYunSuanFu(jbsuan[3].getText());
}
}
//判断等号操作。
if(object==jbdeng&&!isFristNumber){
showResult();
}
//判断Clear操作。
if(object==jbclear){
clearText();
}
//判断Sqrt操作。
if(object==jbsqrt){
showSqrt();
}
}
void setFristNumber(String s){
jtf.setText("");
jtf.setText((textString1+s));
textString1+=s;
fristNumber=new Double(textString1).doubleValue();
} private void setSecondNumber(String s){
jtf.setText("");
jtf.setText((textString2+s));
textString2+=s;
secondNumber=new Double(textString2).doubleValue();
}
private void getYunSuanFu(String s){
jtf.setText("");
isFristNumber=false;
if(s.equals("+")){
runString=s;
}
if(s.equals("-")){
runString=s;
}
if(s.equals("*")){
runString=s;
}
if(s.equals("/")){
runString=s;
}
isPress=false; }
private void showResult(){
if(runString.equals("+")){
result=fristNumber+secondNumber;
}
if(runString.equals("-")){
result=fristNumber-secondNumber;
}
if(runString.equals("*")){
result=fristNumber*secondNumber;
}
if(runString.equals("/")){
try{
result=fristNumber/secondNumber;
}catch(Exception e){
jtf.setText("除数不能为零!");
}
}
jtf.setText(new Double(result).toString());
fristNumber=result;
secondNumber=0;
isFristNumber=true;
textString1="";
textString2="";
runString="";
result=0;
isPress=false;
}
private void clearText(){
jtf.setText("");
fristNumber=0;
secondNumber=0;
isFristNumber=true;
textString1="";
textString2="";
runString="";
result=0;
isPress=false;
}
private void showSqrt(){
fristNumber=Math.sqrt(fristNumber);
jtf.setText(new Double(fristNumber).toString());
isPress=false;
} public static void main(String [] args){
double timeStart =System.currentTimeMillis();
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());// }catch(Exception e){}
new JiSuanQi();
double timeEnd =System.currentTimeMillis();
System.out.println("Programe runs time:"+((timeEnd-timeStart)/1000)+ " 秒 . ");
} }