📄 calculatorview.java
字号:
package lab5;
import java.awt.*;
import javax.swing.*;
public class CalculatorView extends JFrame {
final static long serialVersionUID = 20000;
final int NUM = 24;
JButton[] buttons;
String[] texts = { "CE", "MC", "0", "1", "2", "+", "sin", "MR", "3", "4",
"5", "-", "cos", "MS", "6", "7", "8", "*", "tan", "M+", "9", ".",
"=", "/" };
JTextField rgstScreen;
JTextField mainScreen;
JPanel buttonPanel;
JPanel textPanel;
CalculateController calController = null;
public CalculatorView(String title, CalculateController controller) {
super(title);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
JFrame.setDefaultLookAndFeelDecorated(true);
calController = controller;
rgstScreen = new JTextField("0.0", 10);
mainScreen = new JTextField("0.0", 20);
rgstScreen.setEditable(false);
mainScreen.setFocusable(false);
textPanel = new JPanel();
textPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
textPanel.add(rgstScreen);
textPanel.add(mainScreen);
buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(4, 6));
buttons = new JButton[NUM];
for (int i = 0; i < NUM; i++) {
buttons[i] = new JButton(texts[i]);
buttons[i].addActionListener(calController);
buttons[i].setActionCommand(texts[i]);
buttonPanel.add(buttons[i]);
}
this.getContentPane().add(textPanel);
add(textPanel, BorderLayout.NORTH);
add(buttonPanel, BorderLayout.SOUTH);
pack();
setVisible(true);
}
public double getMainScreenData() {
return Double.parseDouble(mainScreen.getText());
}
public void repaint() {
super.repaint();
Calculate cal = calController.getCalculate();
mainScreen.setText(cal.getCurStr());
rgstScreen.setText(Double.toString(cal.getRgst()));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -