java计算器 图形用户界面 升级版v2.0 (限制位数显示+四舍五入的处理)(三)
_show.setText("");
}
str = text_show.getText() + "7";
text_show.setText(str);
}
else {
setClear();
str = text_show.getText() + "7";
text_show.setText(str);
}
}
});
button_num8.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (operator != 5) {
if (text_show.getText().equals("0")) {
text_show.setText("");
}
str = text_show.getText() + "8";
text_show.setText(str);
}
else {
setClear();
str = text_show.getText() + "8";
text_show.setText(str);
}
}
});
button_num9.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (operator != 5) {
if (text_show.getText().equals("0")) {
text_show.setText("");
}
str = text_show.getText() + "9";
text_show.setText(str);
}
else {
setClear();
str = text_show.getText() + "9";
text_show.setText(str);
}
}
});
button_point.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(count_point==0){
str=text_show.getText()+".";
text_show.setText(str);
count_point++;
}
else{//如果小数点个数超过一个就不再输入小数点
return;
}
}
});
button_C.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {//全部清空,包括数据和运算符
setClear();
text_show.setText("0");
}
});
button_CE.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(operator==5){//对于按过等号的数据,则全部清空
num_record=0;
str="";
text_show.setText("0");
}
else{//没按过等号的从低到高位依次减少位数
if(str.length()!=0){//如果显示框中的数据长度不为0
str=text_show.getText();
str=str.substring(0,str.length()-1);
if(str.length()>
1){
text_show.setText(str);
}
else{
str="";
text_show.setText("0");
}
}
}
}
});
button_add.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (str.equals("")) {}
else {
switch (operator) {
case 0:
num_record = Double.parseDouble(str);break;
case 1:
num_record = num_record + Double.parseDouble(str);break;
case 2:
num_record = num_record - Double.parseDouble(str);break;
case 3:
num_record = num_record * Double.parseDouble(str);break;
case 4:
num_record = num_record / Double.parseDouble(str);break;
case 5:break;
}
show_str=show_str+text_show.getText()+"+";
text_show1.setText(show_str);
str="";
count_point=0;
text_show.setText("");
operator=1;
}
}
});
button_cut.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(text_show.getText().equals("0")){
if(operator==0){//负号的功能
str="-";
text_show.setText(str);
}
else{
return;
}
}
else{
if (str.equals("")) {}
else {
switch (operator) {
case 0:
num_record = Double.parseDouble(str);break;
c