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

📄 prefectcalculator.java

📁 java GUI写的一个计算器,功能很全
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package calculatorperfect;import javax.swing.*;import java.awt.*;import java.awt.event.*;/** * * @author LiBiao */public class PrefectCalculator extends JFrame implements ActionListener {    /**     * @param args the command line arguments     */    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 PrefectCalculator() {  setTitle("计算器");  setSize(400,300);  setLocation(250,200);  text=new JTextField(25); // text.setEnabled(false);  text.setText("0.");  text.setHorizontalAlignment(JTextField.RIGHT);//从右到左  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,6));  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("Back");  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);   ImageIcon duke = new ImageIcon("126.gif");  JButton icon = new JButton(duke);  cp2.add(icon);   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计算器\n      杨彩 制作\n\n","关于计算器",JOptionPane.INFORMATION_MESSAGE);  }  if(temp==me)  {   try   {    Process p = Runtime.getRuntime().exec("explorer http://hi.baidu.com/kkxlkkxllb");   }   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++)  {

⌨️ 快捷键说明

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