⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsqi.jav.txt

📁 WINDOWS 环境的计数器
💻 TXT
字号:
import  Java .Applet.*;  
import java.awt.*;  
import java.awt.event.*;  
import java.lang.*;  
import java.applet.Applet;  
import javax.Swing.*;  
import javax.swing.border.*;  

public class Calculator extends JApplet implements ActionListener  
{  
private final String[] KEYS={"7","8","9","/","sqrt",  
"4","5","6","*","%",  
"1","2","3","-","1/x",  
"0","+/-",".","+","="  
};  
private final String[] COMMAND={"Backspace","CE","C"};  
private final String[] M={" ","MC","MR","MS","M+"};  
private JButton keys[]=new JButton[KEYS.length];  
private JButton commands[]=new JButton[COMMAND.length];  
private JButton m[]=new JButton[M.length];  
private JTextField display =new JTextField("0");  

// public JTextField setHorizontalAlignment(int alignment);  
// private JTextField display.setHorizontalAlignment(JTextField.RIGHT)=new JTextField("0");  

private void setup()  
{  
display.setHorizontalAlignment(JTextField.RIGHT);  
JPanel calckeys=new JPanel();  
JPanel command=new JPanel();  
JPanel calms=new JPanel();  
calckeys.setLayout(new GridLayout(4,5,3,3));  
command.setLayout(new GridLayout(1,3,3,3));  
calms.setLayout(new GridLayout(5,1,3,3));  

for(int i=0;i<KEYS.length;i++)  
{  
keys[i]=new JButton(KEYS[i]);  
calckeys.add(keys[i]);  
keys[i].setForeground(Color.blue);  
}  
keys[3].setForeground(Color.red);  
keys[4].setForeground(Color.red);  
keys[8].setForeground(Color.red);  
keys[9].setForeground(Color.red);  
keys[13].setForeground(Color.red);  
keys[14].setForeground(Color.red);  
keys[18].setForeground(Color.red);  
keys[19].setForeground(Color.red);  

for(int i=0;i<COMMAND.length;i++)  
{  
commands[i]=new JButton(COMMAND[i]);  
command.add(commands[i]);  
commands[i].setForeground(Color.red);  
}  
for(int i=0;i<M.length;i++)  
{  
m[i]=new JButton(M[i]);  
calms.add(m[i]);  
m[i].setForeground(Color.red);  
}  
JPanel panel1=new JPanel();  
panel1.setLayout(new BorderLayout(3,3));  
panel1.add("North",command);  
panel1.add("Center",calckeys);  
JPanel top=new JPanel();  
top.setLayout(new BorderLayout());  
display.setBackground(Color.WHITE);  
top.add("Center",display);  
getContentPane().setLayout(new BorderLayout(3,5));  
getContentPane().add("North",top);  
getContentPane().add("Center",panel1);  
getContentPane().add("West",calms);  
}  

public void init()  
{  

setup();  

for(int i=0;i<KEYS.length;i++)  
{  
keys[i].addActionListener(this);  
}  
for(int i=0;i<COMMAND.length;i++)  
{  
commands[i].addActionListener(this);  
}  
for(int i=0;i<M.length;i++)  
{  
m[i].addActionListener(this);  
}  
display.setEditable(false);  
}  

public void actionPerformed(ActionEvent e)  
{  
String label=e.getActionCommand();  
// double zero=e.getActionCommand();  
if(label=="C")  
handleC();  
else if(label=="Backspace")  
handleBackspace();  
else if(label=="CE")  
display.setText("0");  
else if("0123456789.".indexOf(label)>=0)  
{handleNumber(label);  
// handlezero(zero);  
}  

else  
handleOperator(label);  
}  

private boolean firstDigit=true;  

private void handleNumber(String key)  
{  
if(firstDigit)  
display.setText(key);  
else if((key.equals("."))&&(display.getText().indexOf(".")<0))  
display.setText(display.getText()+".");  
else if(!key.equals("."))  
display.setText(display.getText()+key);  
firstDigit=false;  
}  
//private void handlezero(String key)  
//{  
// if(!((double)display.setText(key))  
// display.setText(0);  
// }  
private double number=0.0;  
private String operator="=";  

private void handleOperator(String key)  
{  
if(operator.equals("/"))  
{  
if(getNumberFromDisplay()==0.0)  
display.setText("除数不能为零");  
else  
{  
number/=getNumberFromDisplay();  
long t1;  
double t2;  
t1=(long)number;  
t2=number-t1;  
if(t2==0)  
display.setText(String.valueOf(t1));  
else  
display.setText(String.valueOf(number));  
}  
}  
else if(operator.equals("1/x"))  
{  
if(number==0.0)  
display.setText("零没有倒数");  
else  
{  
number=1/number;  
long t1;  
double t2;  
t1=(long)number;  
t2=number-t1;  
if(t2==0)  
display.setText(String.valueOf(t1));  
else  
display.setText(String.valueOf(number));  
}  
}  
else if(operator.equals("+"))  
number+=getNumberFromDisplay();  
else if(operator.equals("-"))  
number-=getNumberFromDisplay();  
else if(operator.equals("*"))  
number*=getNumberFromDisplay();  
else if(operator.equals("sqrt"))  
{  
number=Math.sqrt(number);  

}  
else if(operator.equals("%"))  
number=number/100;  
else if(operator.equals("+/-"))  
number=number*(-1);  
else if(operator.equals("="))  
number=getNumberFromDisplay();  
long t1;  
double t2;  
t1=(long)number;  
t2=number-t1;  
if(t2==0)  
display.setText(String.valueOf(t1));  
else  
display.setText(String.valueOf(number));  
operator=key;  
firstDigit=true;  
}  

private double getNumberFromDisplay()  
{  
return Double.valueOf(display.getText()).doubleValue();  
}  

private void handleC()  
{  
display.setText("0");  
firstDigit=true;  
operator="=";  
}  
private void handleBackspace()  
{  
String text=display.getText();  
int i=text.length();  
if(i>0)  
{  
text=text.substring(0,i-1);  
if(text.length()==0)  
{  
display.setText("0");  
firstDigit=true;  
operator="=";  
}  
else  
display.setText(text);  
}  

}  
public static void main(String args[])  
{  
JFrame f=new JFrame();  
Calculator Calculator1=new Calculator();  
Calculator1.init();  
f.getContentPane().add("Center",Calculator1);  
f.setVisible(true);  
f.setBounds(300,200,380,245);  
f.setBackground(Color.LIGHT_GRAY);  
f.validate();  
f.setResizable(false);  
f.addWindowListener(new WindowAdapter()  
{  
public void windowClosing(WindowEvent e)  
{  
System.exit(0);  
}  
});  
f.setTitle("计算器");  
}  
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -