扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:整理 来源:新浪博客 2007年10月13日
关键字:
在本页阅读全文(共2页)
以下是引用片段: import java.awt.*; import java.awt.event.*; import java.util.EventObject; public class CalculatorGUI{ private Frame f; private Panel p1,p2; private Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9; private Button bPoint,bAdd,bDec,bMul,bDiv,bCal; private TextField tf; private String s,op; private Calculator cal = new Calculator(); private boolean ifOp; public CalculatorGUI(){ f = new Frame("Calculator"); p1 = new Panel(); p2 = new Panel(); b0 = new Button("0"); b1 = new Button("1"); b2 = new Button("2"); b3 = new Button("3"); b4 = new Button("4"); b5 = new Button("5"); b6 = new Button("6"); b7 = new Button("7"); b8 = new Button("8"); b9 = new Button("9"); bPoint = new Button("."); bAdd = new Button("+"); bDec = new Button("-"); bMul = new Button("*"); bDiv = new Button("/"); bCal = new Button("="); tf = new TextField(25); tf.setEditable(false); } public void launchFrame(){ f.setSize(220,160); f.setResizable(false); f.addWindowListener(new myWindowListener()); p1.setLayout(new FlowLayout(FlowLayout.CENTER)); p1.add(tf); f.add(p1,BorderLayout.NORTH); p2.setLayout(new GridLayout(4,4)); b0.addActionListener(new setLabelText_ActionListener()); b1.addActionListener(new setLabelText_ActionListener()); b2.addActionListener(new setLabelText_ActionListener()); b3.addActionListener(new setLabelText_ActionListener()); b4.addActionListener(new setLabelText_ActionListener()); b5.addActionListener(new setLabelText_ActionListener()); b6.addActionListener(new setLabelText_ActionListener()); b7.addActionListener(new setLabelText_ActionListener()); b8.addActionListener(new setLabelText_ActionListener()); b9.addActionListener(new setLabelText_ActionListener()); bPoint.addActionListener(new setLabelText_ActionListener()); bAdd.addActionListener(new setOperator_ActionListener()); bDec.addActionListener(new setOperator_ActionListener()); bMul.addActionListener(new setOperator_ActionListener()); bDiv.addActionListener(new setOperator_ActionListener()); bCal.addActionListener(new setOperator_ActionListener()); p2.add(b7); p2.add(b8); p2.add(b9); p2.add(bAdd); p2.add(b4); p2.add(b5); p2.add(b6); p2.add(bDec); p2.add(b1); p2.add(b2); p2.add(b3); p2.add(bMul); p2.add(b0); p2.add(bPoint); p2.add(bCal); p2.add(bDiv); f.add(p2,BorderLayout.SOUTH); f.setVisible(true); } public void setTextFieldText_Temp(){ if (tf.getText().length()<15 && (tf.getText().indexOf(".")==-1 || !s.equals("."))){ tf.setText(tf.getText()+s); }else{ tf.setText((tf.getText()+s).substring(0,15)); } } public void setTextFieldText(){ if(ifOp){ ifOp = false; tf.setText(""); setTextFieldText_Temp(); }else{ setTextFieldText_Temp(); } } public static void main(String[] args){ CalculatorGUI calculator = new CalculatorGUI(); calculator.launchFrame(); } class myWindowListener extends WindowAdapter{ public void windowClosing(WindowEvent e){ System.exit(0); } } class setLabelText_ActionListener implements ActionListener{ public void actionPerformed(ActionEvent e){ Button tempB = (Button)e.getSource(); s = tempB.getLabel(); setTextFieldText(); } } class setOperator_ActionListener implements ActionListener{ public void actionPerformed(ActionEvent e){ Button tempB = (Button)e.getSource(); op = tempB.getLabel(); if(op.equals("+")){ tf.setText(cal.opAdd(tf.getText())); ifOp = true; }else if(op.equals("-")){ tf.setText(cal.opSubtract(tf.getText())); ifOp = true; }else if(op.equals("*")){ tf.setText(cal.opMultiply(tf.getText())); ifOp = true; }else if(op.equals("/")){ tf.setText(cal.opDivide(tf.getText())); ifOp = true; }else if(op.equals("=")){ tf.setText(cal.opEquals(tf.getText())); ifOp = true; } } } } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者