如何利用JOptionPane编写一个加,减,乘,除计算器
如何利用JOptionPane编写一个加,减,乘,除计算器 |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
importjava.awt.Rectangle;importjavax.script.ScriptEngineManager;importjavax.script.ScriptException;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclassTest67{ publicstaticvoidmain(String[]args){ JFrameframe=newJFrame("计算任意公式"); JLabelmJLabel_1=newJLabel("请输入要计算的公式,如:(3+2)*5"); mJLabel_1.setBounds(newRectangle(18,53,250,38)); finalJLabelmJLabel_2=newJLabel(""); mJLabel_2.setBounds(newRectangle(18,117,250,38)); finalJTextFieldjf1=newJTextField(20); jf1.setBounds(newRectangle(18,91,250,25)); JButtonjb=newJButton("确认"); jb.setBounds(newRectangle(18,107*2-53,150,38)); jb.addActionListener(newjava.awt.event.ActionListener(){ publicvoidactionPerformed(java.awt.event.ActionEvente){ doublevalue=0; try{ value=(double)newScriptEngineManager().getEngineByName("js").eval(jf1.getText()); mJLabel_2.setText(""+value); }catch(ScriptExceptione1){ e1.printStackTrace(); mJLabel_2.setText("请输入正确公式"); } } }); JPanelp=newJPanel();//建立一个面板 p.add(mJLabel_1,null); p.add(mJLabel_2,null); p.add(jf1); p.setLayout(null); p.add(jb); frame.add(p);//将面板添加到窗口 frame.setSize(300,300);//设置窗口大小 frame.setAlwaysOnTop(true);//设置窗口始终在最上层 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认的关闭操作,关闭窗口后退出程序 frame.setLocationRelativeTo(null);//设置窗口居中 frame.setVisible(true);//设置窗口可见,尽快调用paint()方法 frame.setResizable(false); }}
|
|
|
|
|
importjavax.script.ScriptEngine;importjavax.script.ScriptEngineManager;importjavax.script.ScriptException;importjavax.swing.JOptionPane;publicclassTest68{ publicstaticvoidmain(String[]args){ Stringstr=(String)JOptionPane.showInputDialog(null,"请输入要计算的公式,如:(3+2)*5","title",JOptionPane.PLAIN_MESSAGE,null,null,""); try{ ScriptEngineManagermScriptEngineManager=newScriptEngineManager(); ScriptEnginemScriptEngine=mScriptEngineManager.getEngineByName("js"); doublevalue=(double)mScriptEngine.eval(str); JOptionPane.showMessageDialog(null,"结果为:"+value,"标题",JOptionPane.PLAIN_MESSAGE); }catch(ScriptExceptione1){ e1.printStackTrace(); JOptionPane.showMessageDialog(null,"请输入正确公式","标题",JOptionPane.ERROR_MESSAGE); } }}
|
|
|
|
|