📄 calpanel.java
字号:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class CalPanel extends JPanel
{
private JLabel display;
private JPanel panel;
private double result;
private String lastCommand;
private boolean start;
private void addButton(String label,ActionListener listener){
JButton button=new JButton(label);
button.addActionListener(listener);
panel.add(button);
}
public CalPanel(){
setLayout(new BorderLayout());
result=0;
lastCommand="=";
start=true;
display=new JLabel("0");
add(display,BorderLayout.NORTH);
panel=new JPanel();
panel.setLayout(new GridLayout(4,3));
ActionListener insert=new InsertAction();
ActionListener command=new CommandAction();
addButton("7",insert);
addButton("8",insert);
addButton("9",insert);
addButton("4",insert);
addButton("5",insert);
addButton("6",insert);
addButton("1",insert);
addButton("2",insert);
addButton("3",insert);
addButton("0",insert);
addButton("=",command);
addButton("+",command);
JTextArea textArea = new JTextArea(8, 20);
JScrollPane scrollPane = new JScrollPane(textArea);
add(panel,BorderLayout.CENTER);
add(scrollPane,BorderLayout.EAST);
textArea.setText("庞玉彤 ,文计071-2,200790513221");
}
private class InsertAction implements ActionListener{
public void actionPerformed(ActionEvent event){
String input=event.getActionCommand();
if(start){
display.setText("");
start=false;
}
display.setText(display.getText()+input);
}
}
private class CommandAction implements ActionListener{
String lastcommand="+";
public void actionPerformed(ActionEvent event2)
{
String command=event2.getActionCommand();
if(command=="+"){
result=Double.parseDouble(display.getText());
display.setText(display.getText());
start=true;
lastcommand=command;
}
if(command=="="){
if(lastcommand=="+"){
result+=Double.parseDouble(display.getText());
lastcommand="=";
}else{
display.setText(""+result);
}
display.setText(""+result);
start=true;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -