📄 newjframe.java
字号:
/* * NewJFrame.java * * Created on 2005年11月4日, 上午10:47 */package javaapplication1;import java.awt.event.*;/** * * @author Administrator */public class NewJFrame extends javax.swing.JFrame implements ActionListener{ /** Creates new form NewJFrame */ public NewJFrame() { initComponents(); jButton1.addActionListener(this); jButton2.addActionListener(this); jButton3.addActionListener(this); jButton4.addActionListener(this); jButton5.addActionListener(this); jButton6.addActionListener(this); jButton7.addActionListener(this); jButton8.addActionListener(this); jButton9.addActionListener(this); jButton10.addActionListener(this); jButton11.addActionListener(this); jButton12.addActionListener(this); jButton13.addActionListener(this); jButton14.addActionListener(this); jButton15.addActionListener(this); jButton16.addActionListener(this); jButton17.addActionListener(this); jButton18.addActionListener(this); } private int action=-1; //动作标志 private String lastValue=""; //最后的值 private boolean pressedOp=false;//是否按下运算符按钮 public void actionPerformed(ActionEvent e){ String s=e.getActionCommand(); if(s=="."){ if (jTextField1.getText().indexOf(".")<0) //没有小数点的数据 jTextField1.setText(jTextField1.getText()+s); } else if (s=="BackSpace"){ if (jTextField1.getText().length()>0) //数据长度>0 jTextField1.setText(jTextField1.getText().substring(0,jTextField1.getText().length()-1)); } else if (s=="Clear"){ lastValue=""; action=-1; jTextField1.setText(""); pressedOp=false; } else if (s=="1" || s=="2" ||s=="3" ||s=="4" || s=="5" ||s=="6" ||s=="7" || s=="8" ||s=="9" ||s=="0"){ if (pressedOp){ //在此按钮之前按下了运算符,应保存文本框内容 lastValue=jTextField1.getText(); jTextField1.setText(s); pressedOp=false; //清除运算符按下标志 } else //没有按下运算符按钮,所以在文本框内容后面追加按钮文字 jTextField1.setText(jTextField1.getText()+s); } else{ //点击了加减乘除运算符 if (pressedOp) return; //连续点击运算符,不处理 pressedOp=true; //设置点击运算符标志 if (lastValue!=""){ //只有两个数据都存在,才进行运算 String currentValue=jTextField1.getText(); //当前数据 if (lastValue.indexOf(".")>=0 || currentValue.indexOf(".")>=0){ //有小数点,应进行浮点运算 double v1=Double.parseDouble(lastValue); double v2=Double.parseDouble(currentValue); double result=0; switch(action){ case 1: result=v1+v2; break; case 2: result=v1-v2; break; case 3: result=v1*v2; break; case 4: result=(double)v1/v2; break; } jTextField1.setText(""+result); } else{ //进行整数运算 int v1=Integer.parseInt(lastValue); int v2=Integer.parseInt(currentValue); int result1=0; double result2=0; switch(action){ case 1: result1=v1+v2; break; case 2: result1=v1-v2; break; case 3: result1=v1*v2; break; case 4: result2=(double)v1/v2; break; } if (action==4) //显示除法产生的浮点结果 jTextField1.setText(""+result2); else //显示其它运算产生的整数结果 jTextField1.setText(""+result1); } } if (s=="+") action=1; else if (s=="-") action=2; else if (s=="*") action=3; else if (s=="/") action=4; } } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() {//GEN-BEGIN:initComponents jTextField1 = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jButton3 = new javax.swing.JButton(); jButton4 = new javax.swing.JButton(); jButton5 = new javax.swing.JButton(); jButton6 = new javax.swing.JButton(); jButton7 = new javax.swing.JButton(); jButton8 = new javax.swing.JButton(); jButton9 = new javax.swing.JButton(); jButton10 = new javax.swing.JButton(); jButton11 = new javax.swing.JButton(); jButton12 = new javax.swing.JButton(); jButton13 = new javax.swing.JButton(); jButton14 = new javax.swing.JButton(); jButton15 = new javax.swing.JButton(); jButton16 = new javax.swing.JButton(); jButton17 = new javax.swing.JButton(); jButton18 = new javax.swing.JButton(); getContentPane().setLayout(null); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Java\u7b80\u6613\u8ba1\u7b97\u5668"); jTextField1.setFont(new java.awt.Font("宋体", 1, 24)); jTextField1.setHorizontalAlignment(javax.swing.JTextField.RIGHT); getContentPane().add(jTextField1); jTextField1.setBounds(20, 30, 450, 30); jButton1.setFont(new java.awt.Font("宋体", 1, 24)); jButton1.setText("1"); getContentPane().add(jButton1); jButton1.setBounds(20, 70, 90, 40); jButton2.setFont(new java.awt.Font("宋体", 1, 24)); jButton2.setText("2"); getContentPane().add(jButton2); jButton2.setBounds(140, 70, 90, 40); jButton3.setFont(new java.awt.Font("宋体", 1, 24)); jButton3.setText("3"); getContentPane().add(jButton3); jButton3.setBounds(260, 70, 90, 40); jButton4.setFont(new java.awt.Font("宋体", 1, 24)); jButton4.setText("4"); getContentPane().add(jButton4); jButton4.setBounds(380, 70, 90, 40); jButton5.setFont(new java.awt.Font("宋体", 1, 24)); jButton5.setText("5"); getContentPane().add(jButton5); jButton5.setBounds(20, 120, 90, 40); jButton6.setFont(new java.awt.Font("宋体", 1, 24)); jButton6.setText("6"); getContentPane().add(jButton6); jButton6.setBounds(140, 120, 90, 40); jButton7.setFont(new java.awt.Font("宋体", 1, 24)); jButton7.setText("7"); getContentPane().add(jButton7); jButton7.setBounds(260, 120, 90, 40); jButton8.setFont(new java.awt.Font("宋体", 1, 24)); jButton8.setText("8"); getContentPane().add(jButton8); jButton8.setBounds(380, 120, 90, 40); jButton9.setFont(new java.awt.Font("宋体", 1, 24)); jButton9.setText("9"); getContentPane().add(jButton9); jButton9.setBounds(20, 170, 90, 40); jButton10.setFont(new java.awt.Font("宋体", 1, 24)); jButton10.setText("0"); getContentPane().add(jButton10); jButton10.setBounds(140, 170, 90, 40); jButton11.setFont(new java.awt.Font("宋体", 1, 24)); jButton11.setText("."); getContentPane().add(jButton11); jButton11.setBounds(260, 170, 90, 40); jButton12.setFont(new java.awt.Font("宋体", 1, 24)); jButton12.setText("Clear"); getContentPane().add(jButton12); jButton12.setBounds(20, 270, 210, 40); jButton13.setFont(new java.awt.Font("宋体", 1, 24)); jButton13.setText("+"); getContentPane().add(jButton13); jButton13.setBounds(20, 220, 90, 40); jButton14.setFont(new java.awt.Font("宋体", 1, 24)); jButton14.setText("-"); getContentPane().add(jButton14); jButton14.setBounds(140, 220, 90, 40); jButton15.setFont(new java.awt.Font("宋体", 1, 24)); jButton15.setText("*"); getContentPane().add(jButton15); jButton15.setBounds(260, 220, 90, 40); jButton16.setFont(new java.awt.Font("宋体", 1, 24)); jButton16.setText("/"); getContentPane().add(jButton16); jButton16.setBounds(380, 220, 90, 40); jButton17.setFont(new java.awt.Font("宋体", 1, 24)); jButton17.setText("="); getContentPane().add(jButton17); jButton17.setBounds(380, 170, 90, 40); jButton18.setFont(new java.awt.Font("宋体", 1, 24)); jButton18.setText("BackSpace"); getContentPane().add(jButton18); jButton18.setBounds(260, 270, 210, 40); java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); setBounds((screenSize.width-492)/2, (screenSize.height-359)/2, 492, 359); }//GEN-END:initComponents // 变量声明 - 不进行修改//GEN-BEGIN:variables private javax.swing.JButton jButton1; private javax.swing.JButton jButton10; private javax.swing.JButton jButton11; private javax.swing.JButton jButton12; private javax.swing.JButton jButton13; private javax.swing.JButton jButton14; private javax.swing.JButton jButton15; private javax.swing.JButton jButton16; private javax.swing.JButton jButton17; private javax.swing.JButton jButton18; private javax.swing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JButton jButton4; private javax.swing.JButton jButton5; private javax.swing.JButton jButton6; private javax.swing.JButton jButton7; private javax.swing.JButton jButton8; private javax.swing.JButton jButton9; private javax.swing.JTextField jTextField1; // 变量声明结束//GEN-END:variables }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -