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

📄 jisuanqi.java

📁 Java 语言实现的计算器
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package jisuanqi;/** * * @author Yuyin Li *///JiSuanQi.javaimport javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;public class JiSuanQi extends JFrame implements ActionListener{JFrame frame;private JButton jia=new JButton("+"); private JButton jian=new JButton("-"); private JButton cheng=new JButton("*");  private JButton chu=new JButton("/"); private JButton qiuyi=new JButton("%"); private JButton deng=new JButton("="); private JButton fu=new JButton("+/-");private JButton dian=new JButton(".");private JButton kai=new JButton("sqrt");private JButton diao=new JButton("1/x");private JButton aa=new JButton("A"); private JButton bb=new JButton("B"); private JButton cc=new JButton("C");private JButton dd=new JButton("D");private JButton ee=new JButton("E");private JButton ff=new JButton("F");private TextField k1=new TextField();         private objConversion convert = new objConversion();JMenuItem copy,paste,s,t,help,about,me;JRadioButton sixteen,ten,eight,two;JButton backspace,ce,c,num0,num1,num2,num3,num4,num5,num6,num7,num8,num9;Container cp;JTextField text;String copycontent="";boolean clickable=true,clear=true;int all=0;double qian; String fuhao;int jin=10,first=1;public JiSuanQi() {  setTitle("计算器-杨彩制作");  setSize(400,300);  setLocation(250,200);  text=new JTextField(25);// text.setEnabled(false);  text.setText("0.");  text.setHorizontalAlignment(JTextField.RIGHT);//从右到左//setHorizontalAlignment方法的作用是让标签中的文字内容在标签内按照指定的方式对齐  JPanel cp1=new JPanel();  JPanel cp2=new JPanel();  JPanel cp3=new JPanel();    cp=getContentPane();  cp.add(cp1,"North");  cp.add(cp2,"Center");  cp.add(cp3,"South");    cp1.setLayout(new GridLayout(1,6));  cp2.setLayout(new GridLayout(2,4));  cp3.setLayout(new GridLayout(6,6));    sixteen=new JRadioButton("十六进制");  sixteen.setVisible(false);  ten=new JRadioButton("十进制",true);  ten.setVisible(false);  eight=new JRadioButton("八进制");  eight.setVisible(false);   two=new JRadioButton("二进制");  two.setVisible(false);  sixteen.addActionListener(this);  ten.addActionListener(this);  eight.addActionListener(this);  two.addActionListener(this);   ButtonGroup btg=new ButtonGroup();    btg.add(sixteen);   btg.add(ten);   btg.add(eight);   btg.add(two);    JTextField t3=new JTextField(25);  cp1.add(text);// text.setEnabled(false);  text.setEditable(false);  text.setBackground(new Color(255, 255, 255));    cp2.add(sixteen);  cp2.add(ten);  cp2.add(eight);  cp2.add(two);    backspace=new JButton("Backspace");  backspace.setForeground(new Color(255,0,0));  backspace.addActionListener(this);  ce=new JButton("CE");  ce.setForeground(new Color(255,0,0));  ce.addActionListener(this);  c=new JButton("C");  c.setForeground(new Color(255,0,0));  c.addActionListener(this);  k1.setVisible(false);  cp2.add(k1);  cp2.add(backspace);  cp2.add(ce);  cp2.add(c);    num0=new JButton("0");   num1=new JButton("1");   num2=new JButton("2");   num3=new JButton("3");   num4=new JButton("4");   num5=new JButton("5");   num6=new JButton("6");   num7=new JButton("7");   num8=new JButton("8");   num9=new JButton("9");   cp3.add(num7);  num7.addActionListener(this);  cp3.add(num8);  num8.addActionListener(this);  cp3.add(num9);  num9.addActionListener(this);  cp3.add(chu);  chu.setForeground(new Color(255,0,0));  chu.addActionListener(this);  cp3.add(kai);  kai.addActionListener(this);  cp3.add(num4);  num4.addActionListener(this);  cp3.add(num5);  num5.addActionListener(this);  cp3.add(num6);  num6.addActionListener(this);  cp3.add(cheng);  cheng.setForeground(new Color(255,0,0));  cheng.addActionListener(this);  cp3.add(qiuyi);  qiuyi.addActionListener(this);  cp3.add(num1);  num1.addActionListener(this);  cp3.add(num2);  num2.addActionListener(this);  cp3.add(num3);  num3.addActionListener(this);  cp3.add(jian);  jian.setForeground(new Color(255,0,0));  jian.addActionListener(this);  cp3.add(diao);  diao.addActionListener(this);  cp3.add(num0);  num0.addActionListener(this);  cp3.add(fu);  fu.addActionListener(this);  cp3.add(dian);  dian.addActionListener(this);  cp3.add(jia);  jia.setForeground(new Color(255,0,0));  jia.addActionListener(this);  cp3.add(deng);  deng.setForeground(new Color(255,0,0));  deng.addActionListener(this);  cp3.add(aa);  aa.addActionListener(this);  cp3.add(bb);  bb.addActionListener(this);  cp3.add(cc);  cc.addActionListener(this);  cp3.add(dd);  dd.addActionListener(this);  cp3.add(ee);  ee.addActionListener(this);  cp3.add(ff);  ff.addActionListener(this);  aa.setVisible(false);  bb.setVisible(false);  cc.setVisible(false);  dd.setVisible(false);  ee.setVisible(false);  ff.setVisible(false);       JMenuBar mainMenu = new JMenuBar();  setJMenuBar(mainMenu);   JMenu editMenu = new JMenu("编辑");   JMenu viewMenu = new JMenu("查看");   JMenu helpMenu = new JMenu("帮助");  mainMenu.add(editMenu);  mainMenu.add(viewMenu);  mainMenu.add(helpMenu);     copy = new JMenuItem(" 复制");   paste = new JMenuItem(" 粘贴");   KeyStroke copyks=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);    copy.setAccelerator(copyks);//设置退出菜单选项加上快捷键    KeyStroke pasteks=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);    paste.setAccelerator(pasteks);//设置退出菜单选项加上快捷键  editMenu.add(copy);  editMenu.add(paste);  copy.addActionListener(this);  paste.addActionListener(this);     t = new JMenuItem("●标准型");   s = new JMenuItem("   科学型");   viewMenu.add(t);  viewMenu.add(s);  t.addActionListener(this);  s.addActionListener(this);      help = new JMenuItem(" 帮助主题");  about = new JMenuItem(" 关于计算器");  me = new JMenuItem(" 作者主页");  helpMenu.add(help);  helpMenu.add(about);    helpMenu.add(me);  help.addActionListener(this);  about.addActionListener(this);  me.addActionListener(this);      addWindowListener(new WindowDestroyer());//结束窗口}public void actionPerformed(ActionEvent e){//响应动作代码    if(first==1)  text.setText("");  first=0;//第一次把文本框0.清空   Object temp = e.getSource();   if(temp==copy)    {    copycontent = text.getText();   }   if(temp==paste)    {    text.setText(text.getText()+copycontent);    }   if(temp==t)  {//标准      sixteen.setVisible(false);   ten.setVisible(false);   eight.setVisible(false);   two.setVisible(false);   t.setText("●标准型");   s.setText("    科学型");   aa.setVisible(false);   bb.setVisible(false);   cc.setVisible(false);   dd.setVisible(false);   ee.setVisible(false);   ff.setVisible(false);  }  if(temp==s)  {//科学      sixteen.setVisible(true);   ten.setVisible(true);   eight.setVisible(true);   two.setVisible(true);   t.setText("   标准型");   s.setText("●科学型");   aa.setVisible(true);   bb.setVisible(true);   cc.setVisible(true);   dd.setVisible(true);   ee.setVisible(true);   ff.setVisible(true);   aa.setEnabled(false);   bb.setEnabled(false);   cc.setEnabled(false);   dd.setEnabled(false);   ee.setEnabled(false);   ff.setEnabled(false);        }  if(temp==help)  { //打开系统帮助文件 要查资料   try   {     String filePath = "C:/WINDOWS/Help/calc.chm";      Runtime.getRuntime().exec("cmd.exe /c "+filePath);      }   catch(Exception eeee)   {    System.out.println("打开系统的计算器出错");       }  }  if(temp==about)  {   JOptionPane.showMessageDialog(frame,"      Java计算器       杨彩 制作  [url]http://blog.sina.com.cn/m/yangcai[/url]","关于计算器",JOptionPane.INFORMATION_MESSAGE); ;  }  if(temp==me)  {   try   {    Process p = Runtime.getRuntime().exec("explorer [url]http://blog.sina.com.cn/m/yangcai[/url]");   }   catch(Exception eeee)   {    System.out.println("打开指定网页出错");       }   }      try  {  if(temp==sixteen)  {   String hex=text.getText();   int inthex=Integer.parseInt(hex,jin);//先把数变为10进制     text.setText(convert.decHex(inthex)) ;   jin=16;   aa.setEnabled(true);   bb.setEnabled(true);   cc.setEnabled(true);   dd.setEnabled(true);   ee.setEnabled(true);   ff.setEnabled(true);   num2.setEnabled(true);   num3.setEnabled(true);   num4.setEnabled(true);   num5.setEnabled(true);   num6.setEnabled(true);   num7.setEnabled(true);   num8.setEnabled(true);   num9.setEnabled(true);  }  if(temp==eight)  {   String oct =text.getText();   int intoct=Integer.parseInt(oct,jin);     text.setText(convert.decOct(intoct)) ;   jin=8;      aa.setEnabled(false);   bb.setEnabled(false);   cc.setEnabled(false);   dd.setEnabled(false);   ee.setEnabled(false);   ff.setEnabled(false);   num2.setEnabled(true);   num3.setEnabled(true);   num4.setEnabled(true);   num5.setEnabled(true);   num6.setEnabled(true);   num7.setEnabled(true);   num8.setEnabled(false);   num9.setEnabled(false);  }  if(temp==two)  {//**************************************************   String bin=text.getText();   int intbin=Integer.parseInt(bin,jin);   text.setText(convert.decBin(intbin));   jin=2;      aa.setEnabled(false);   bb.setEnabled(false);   cc.setEnabled(false);   dd.setEnabled(false);   ee.setEnabled(false);   ff.setEnabled(false);   num2.setEnabled(false);   num3.setEnabled(false);   num4.setEnabled(false);   num5.setEnabled(false);   num6.setEnabled(false);   num7.setEnabled(false);   num8.setEnabled(false);   num9.setEnabled(false);  }  if(temp==ten)  {   String dec=text.getText();   int intdec=Integer.parseInt(dec,jin);  // text.setText(convert.decDec(intdec));  //本句会把123变成321   text.setText(intdec+"");   jin=10;   aa.setEnabled(false);   bb.setEnabled(false);   cc.setEnabled(false);   dd.setEnabled(false);   ee.setEnabled(false);   ff.setEnabled(false);   num2.setEnabled(true);   num3.setEnabled(true);   num4.setEnabled(true);   num5.setEnabled(true);   num6.setEnabled(true);   num7.setEnabled(true);   num8.setEnabled(true);   num9.setEnabled(true);  }  }  catch(Exception ee)  {   System.out.println("转换出错,可能你没有输入任何字符");   text.setText("转换出错");   clear=false;  }    if(temp==backspace)  {//退格  String s = text.getText();   text.setText("");   for (int i = 0; i < s.length() - 1; i++)  {   char a = s.charAt(i);   text.setText(text.getText() + a);   }  }    if (temp==ce) 

⌨️ 快捷键说明

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