效果图:
采用边界布局与网格布局相结合的方式,完成计算器的组件布局。在处理事件过程中,需考虑对于运算过程中异常处理,如除法分母不为 0、提供的运算字符串无法运算等异常情况的提示。
public class Calculator {
public static void main(String args[]) {
WindowOperation win=new WindowOperation();
win.setTitle("Calculator");
win.setLocationRelativeTo(null);
}
}
import java.awt.GridLayout;
import java.awt.*;
import javax.swing.event.AncestorListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.io.*;
public class WindowOperation extends JFrame {
double inputNumberOne;
double inputNumberTwo;
double result;
int Fuhao=-1;
StringBuilder sBuilder = new StringBuilder();
public WindowOperation() {
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init() {
JPanel panel = new JPanel();
setBounds(100,100,300,200);
JButton btn[];
String str[]= {
"0","1","2","3","4","5","6","7","8","9","+","-","*","/","C","="};
panel.setLayout(new GridLayout(4,4));
btn=new JButton[str.length];
for(int i=0;i<str.length;i++) {
btn[i]=new JButton(str[i]);
panel.add(btn[i]);
}
JTextField txt=new JTextField