⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frame1.java

📁 我自己编写的科学计算器
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    ActionListener a14=new ActionListener(){
 public void actionPerformed(ActionEvent ae){
   jBa_Opequal.doClick();
}
 };
 getRootPane().registerKeyboardAction(
 a14,KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,0,false),
 JComponent.WHEN_IN_FOCUSED_WINDOW);
    getRootPane().registerKeyboardAction(
   a14,KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS,0,false),
   JComponent.WHEN_IN_FOCUSED_WINDOW);
    getRootPane().registerKeyboardAction(
     a14,KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,0,false),
     JComponent.WHEN_IN_FOCUSED_WINDOW);


//-------------------------------------------------------=
 //------------------------------------------------------.
        ActionListener a15=new ActionListener(){
     public void actionPerformed(ActionEvent ae){
      jBa_Opdel.doClick();
 }
     };
     getRootPane().registerKeyboardAction(
     a15,KeyStroke.getKeyStroke(KeyEvent.VK_DECIMAL,0,false),
     JComponent.WHEN_IN_FOCUSED_WINDOW);

//-------------------------------------------------------.
//------------------------------------------------------<-
        ActionListener a16=new ActionListener(){
     public void actionPerformed(ActionEvent ae){
      jButton2.doClick();
   }
     };
     getRootPane().registerKeyboardAction(
     a16,KeyStroke.getKeyStroke(KeyEvent.VK_BACK_SPACE,0,false),
     JComponent.WHEN_IN_FOCUSED_WINDOW);

//-------------------------------------------------------<-
//------------------------------------------------------ce
        ActionListener a17=new ActionListener(){
     public void actionPerformed(ActionEvent ae){
      jBb_CE.doClick();
 }
     };
     getRootPane().registerKeyboardAction(
     a17,KeyStroke.getKeyStroke(KeyEvent.VK_C,0,false),
     JComponent.WHEN_IN_FOCUSED_WINDOW);

//-------------------------------------------------------ce
//------------------------------------------------------M
        ActionListener a18=new ActionListener(){
     public void actionPerformed(ActionEvent ae){
       jButton4.doClick();
}
     };
     getRootPane().registerKeyboardAction(
     a18,KeyStroke.getKeyStroke(KeyEvent.VK_M,0,false),
     JComponent.WHEN_IN_FOCUSED_WINDOW);

//-------------------------------------------------------M
  //------------------------------------------------------N(M-)
      ActionListener a19=new ActionListener(){
   public void actionPerformed(ActionEvent ae){
     jButton3.doClick();
}
   };
   getRootPane().registerKeyboardAction(
   a19,KeyStroke.getKeyStroke(KeyEvent.VK_N,0,false),
   JComponent.WHEN_IN_FOCUSED_WINDOW);

//-------------------------------------------------------N(M-)
//------------------------------------------------------ESC
      ActionListener a20=new ActionListener(){
   public void actionPerformed(ActionEvent ae){
     int rr=JOptionPane.showConfirmDialog(null,"   确定要退出计算器吗?","退出?",JOptionPane.YES_NO_OPTION);
     if(rr==JOptionPane.YES_OPTION){
     System.exit(0);}
}
   };
   getRootPane().registerKeyboardAction(
   a20,KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,0,false),
   JComponent.WHEN_IN_FOCUSED_WINDOW);

//------------------------------------------------------ESC
//------------------------------------------------------%
        ActionListener a21=new ActionListener(){
     public void actionPerformed(ActionEvent ae){
     jButton8.doClick();


   }
     };
     getRootPane().registerKeyboardAction(
     a21,KeyStroke.getKeyStroke(KeyEvent.VK_5,0,false),
     JComponent.WHEN_IN_FOCUSED_WINDOW);

//-------------------------------------------------------%
//------------------------------------------------------F
        ActionListener a22=new ActionListener(){
     public void actionPerformed(ActionEvent ae){
     jButton6.doClick();


   }
     };
     getRootPane().registerKeyboardAction(
     a22,KeyStroke.getKeyStroke(KeyEvent.VK_F,0,false),
     JComponent.WHEN_IN_FOCUSED_WINDOW);

//-------------------------------------------------------F
//------------------------------------------------------E
        ActionListener a23=new ActionListener(){
     public void actionPerformed(ActionEvent ae){
     jBb_VE.doClick();


   }
     };
     getRootPane().registerKeyboardAction(
     a23,KeyStroke.getKeyStroke(KeyEvent.VK_E,0,false),
     JComponent.WHEN_IN_FOCUSED_WINDOW);

//-------------------------------------------------------E
//-----------------------------------------------------<
        ActionListener a24=new ActionListener(){
     public void actionPerformed(ActionEvent ae){
     jButton7.doClick();
   }
     };
     getRootPane().registerKeyboardAction(
     a24,KeyStroke.getKeyStroke(KeyEvent.VK_F1,0,false),
     JComponent.WHEN_IN_FOCUSED_WINDOW);

//-------------------------------------------------------<
  //------------------------------------------------------p
      ActionListener a25=new ActionListener(){
   public void actionPerformed(ActionEvent ae){
  jButton39.doClick();
 }
   };
   getRootPane().registerKeyboardAction(
   a25,KeyStroke.getKeyStroke(KeyEvent.VK_P,0,false),
   JComponent.WHEN_IN_FOCUSED_WINDOW);

//-------------------------------------------------------p

///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
  }
/**外观设置函数*/
public void plaf(){
    try{
      UIManager.setLookAndFeel(plafName);//换外观
      SwingUtilities.updateComponentTreeUI(this);//在程序里转换外观要用到此函数
      this.pack();
    jLabel1.setForeground(UIManager.getColor("Desktop.background"));
    }
    catch(Exception ep){}
}
/**运算符函数*/
public void operator(){
    b4=true;//判断已按运算符号
    b2=false;//b2返回false,再次允许输入“.”号
    if(b5==false){
    try{
    c1=Float.valueOf(jTshow.getText()).floatValue();//把屏幕值赋给c1缓存起来
    a1=new StringBuffer("");//清空a1,让其可以继续添加新数值
           }
    catch(Exception r){
            jTshow.setText("0.");
            a1=new StringBuffer("");
            c1=0;
                     }}
    if(b5==true){
         try{a1=new StringBuffer("");//清空a1,让其可以继续添加新数值
         c2=Float.valueOf(jTshow.getText()).floatValue();//把屏幕值赋给c1缓存起来
         a1.append("");}
         catch(Exception r){
          jTshow.setText("0.");
          a1=new StringBuffer("");
          a1.append("");
          b2=false;//b2返回false,再次允许输入“.”号
 }
         this.count(b1);
    }
}
/**运算判断函数*/
public void count(int x){
    switch (x){
      case 1://加法
                c3=c1+c2;//c3为答案值,等于第一个数c1和第二个数c2
                jTshow.setText(String.valueOf(c3));//显示答案
                c1=c3;
         break;
      case 2://减法
                c3=c1-c2;//两数之差
                jTshow.setText(String.valueOf(c3));
                c1=c3;
         break;
       case 3://乘法
                 c3=c1*c2;//两数之积
                 jTshow.setText(String.valueOf(c3));
                 c1=c3;
          break;
       case 4://除法
                 c3=c1/c2;//两数之商
                 jTshow.setText(String.valueOf(c3));
                 c1=c3;
          break;
       case 5://求余(%)
                 c3=c1%c2;//c1除以c2后的余数
                 jTshow.setText(String.valueOf((int)c3));
                 c1=c3;
          break;
       case 6:
             try{
            double c4=Math.pow(c1,c2);//求C1的C2次方的函数
            jTshow.setText(String.valueOf(c4));
            c1=(float)c4;
                }
             catch(Exception r){}
          break;
       case 7:
            try{
             double c4=Math.pow(c1,c2);//求C1的C2次方的函数
             jTshow.setText(String.valueOf(c4));
             c1=(float)c4;
                }
             catch(Exception r){}
          break;
       }

}
  //File | Exit action performed
  public void jMenuFileExit_actionPerformed(ActionEvent e) {
    System.exit(0);
  }

 /**该函数用于初始化Frame1_AboutBox*/
  public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
    Frame1_AboutBox dlg = new Frame1_AboutBox(this);
    dlg.setBounds(this.getX()-50,this.getY()-50,584,450);
    dlg.setResizable(false);
    dlg.show();
  }

  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      jMenuFileExit_actionPerformed(null);
    }
  }
/**按钮“1”的事件*/
  void jBa_Num1_actionPerformed(ActionEvent e) {
 if(b4==false){
   b5=false;
 }
 else{
   b5=true;
 }
    b6=false;
    if(a1.length()<=23)  //屏幕只能显示23位,判断a1的长度是否大于23,小于的话则执行后面语句
    if(a1.toString().equals("0")){//判断a1的值是否为0如果为0则清空a1
           a1=new StringBuffer("1");//为0则清空a1,把按钮说代表的值新赋给a1
           jTshow.setText(a1.toString());//显示a1.
         }
        else{
        a1.append("1");//a1不为0则在a1后加上按钮所代表的值
        jTshow.setText(a1.toString());  }//显示a1


  }
/**按钮“2”的事件*/
  void jBa_Num2_actionPerformed(ActionEvent e) {
    if(b4==false){
   b5=false;
 }
 else{b5=true;}
   b6=false;
    if(a1.length()<=23)  //屏幕只能显示23位,判断a1的长度是否大于23,小于的话则执行后面语句
      if(a1.toString().equals("0")){//判断a1的值是否为0如果为0则清空a1
          a1=new StringBuffer("2");//为0则清空a1,把按钮说代表的值新赋给a1
          jTshow.setText(a1.toString());//显示a1.
        }
       else{
       a1.append("2");//a1不为0则在a1后加上按钮所代表的值
       jTshow.setText(a1.toString());}//显示a1

}
/**按钮“3”的事件*/
  void jBa_Num3_actionPerformed(ActionEvent e) {
    if(b4==false){
      b5=false;
    }
    else{b5=true;}
   b6=false;
    if(a1.length()<=23)  //屏幕只能显示23位,判断a1的长度是否大于23,小于的话则执行后面语句
        if(a1.toString().equals("0")){//判断a1的值是否为0如果为0则清空a1
              a1=new StringBuffer("3");//为0则清空a1,把按钮说代表的值新赋给a1
              jTshow.setText(a1.toString());//显示a1.
            }
           else{
           a1.append("3");//a1不为0则在a1后加上按钮所代表的值
           jTshow.setText(a1.toString());}//显示a1

  }
/**按钮“4”的事件*/
  void jBa_Num4_actionPerformed(ActionEvent e) {
    if(b4==false){
      b5=false;
    }
    else{b5=true;}
   b6=false;
    if(a1.length()<=23)  //屏幕只能显示23位,判断a1的长度是否大于23,小于的话则执行后面语句
        if(   a1.toString().equals("0")){//判断a1的值是否为0如果为0则清空a1
              a1=new StringBuffer("4");//为0则清空a1,把按钮说代表的值新赋给a1
              jTshow.setText(a1.toString());//显示a1.
            }
           else{
           a1.append("4");//a1不为0则在a1后加上按钮所代表的值
           jTshow.setText(a1.toString());}//显示a1

  }
/**按钮“5”的事件*/
  void jBa_Num5_actionPerformed(ActionEvent e) {
    if(b4==false){
      b5=false;
    }
    else{b5=true;}
   b6=false;
    if(a1.length()<=23)  //屏幕只能显示23位,判断a1的长度是否大于23,小于的话则执行后面语句
           if(a1.toString().equals("0")){//判断a1的值是否为0如果为0则清空a1
                 a1=new StringBuffer("5");//为0则清空a1,把按钮说代表的值新赋给a1
                 jTshow.setText(a1.toString());//显示a1.
               }
              else{
              a1.append("5");//a1不为0则在a1后加上按钮所代表的值
              jTshow.setText(a1.toString());}//显示a1

  }
/**按钮“6”的事件*/
  void jBa_Num6_actionPerformed(ActionEvent e) {
    if(b4==false){
      b5=false;
    }
    else{b5=true;}
   b6=false;
    if(a1.length()<=23)  //屏幕只能显示23位,判断a1的长度是否大于23,小于的话则执行后面语句
           if(a1.toString().equals("0")){//判断a1的值是否为0如果为0则清空a1
                 a1=new StringBuffer("6");//为0则清空a1,把按钮说代表的值新赋给a1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -