📄 calculatorjframe.java
字号:
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;
public class CalculatorJFrame extends JFrame implements ActionListener
{
private JTextField text;
private char op;
private float value;
private boolean first;
public CalculatorJFrame()
{
super("Calculator");
this.setSize(468,310);
this.setLocation(300,240);
this.display();
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
op='+';
value=0.0f;
first=true;
}
private void display()
{
text = new JTextField("0.",30);
text.setHorizontalAlignment(JTextField.RIGHT);
text.setEditable(false);
this.add(text,"North");
JPanel panel = new JPanel(new GridLayout(5,4,5,5));
this.add(panel);
panel.add(new JButton("sqrt"));
panel.add(new JButton("+/-"));
JButton button_backspace = new JButton("Backspace");
panel.add(button_backspace);
button_backspace.addActionListener(this);
JButton button_clear = new JButton("C");
panel.add(button_clear);
button_clear.addActionListener(this);
JButton button_seven = new JButton("7");
panel.add(button_seven);
button_seven.addActionListener(this);
JButton button_eight = new JButton("8");
panel.add(button_eight);
button_eight.addActionListener(this);
JButton button_nine = new JButton("9");
panel.add(button_nine);
button_nine.addActionListener(this);
JButton button_division = new JButton("/");
panel.add(button_division);
button_division.addActionListener(this);
JButton button_four = new JButton("4");
panel.add(button_four);
button_four.addActionListener(this);
JButton button_five = new JButton("5");
panel.add(button_five);
button_five.addActionListener(this);
JButton button_six = new JButton("6");
panel.add(button_six);
button_six.addActionListener(this);
JButton button_multiplication = new JButton("*");
panel.add(button_multiplication);
button_multiplication.addActionListener(this);
JButton button_one = new JButton("1");
panel.add(button_one);
button_one.addActionListener(this);
JButton button_two = new JButton("2");
panel.add(button_two);
button_two.addActionListener(this);
JButton button_three = new JButton("3");
panel.add(button_three);
button_three.addActionListener(this);
JButton button_minus = new JButton("-");
panel.add(button_minus);
button_minus.addActionListener(this);
JButton button_zero = new JButton("0");
panel.add(button_zero);
button_zero.addActionListener(this);
JButton button_radixpoint = new JButton(".");
panel.add(button_radixpoint);
button_radixpoint.addActionListener(this);
JButton button_equalto = new JButton("=");
panel.add(button_equalto);
button_equalto.addActionListener(this);
JButton button_plus = new JButton("+");
panel.add(button_plus);
button_plus.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String current = e.getActionCommand();
if (current.equals("C"))
{
text.setText("0.");
value = 0.0f;
first = true;
return;
}
if (current.equals("Backspace"))
{
String str=text.getText().substring(0,text.getText().length()-1);
text.setText(str);
if (str.equals(""))
{
text.setText("0.");
first = true;
}
return;
}
if (current.compareTo("0")>=0 && current.compareTo("9")<=0
|| current.equals("."))
{
if (first)
{
text.setText("");
first = false;
}
text.setText(text.getText()+current);
}
else
{
System.out.print(""+value+op+text.getText()+"=");
if (op=='+')
value += Float.parseFloat(text.getText());
if (op=='-')
value -= Float.parseFloat(text.getText());
if (op=='*')
value *= Float.parseFloat(text.getText());
if (op=='/')
value /= Float.parseFloat(text.getText());
System.out.println(""+value);
text.setText(""+value);
op = current.charAt(0);
first = true;
}
}
public static void main(String arg[])
{
new CalculatorJFrame();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -