main方法public class main{ public static void main(String []args){ calculator ca = new calculator(200,200,200,250); }}calculate類import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JTextField;import com.sun.glass.ui.Clipboard;public class calculator extends JFrame implements ActionListener { JMenuBar myJMenuBar; JMenu menu ,menu2,menu3; JMenuItem item,item2,item3, item4,item5,item6; //上面定義菜單的 String num1;//定義加數(shù),減數(shù)。就是第一個(gè)運(yùn)算數(shù) String syb;//定義運(yùn)算符號(hào),我的思路是匹配這個(gè)運(yùn)算符號(hào),符合哪個(gè)用那個(gè)運(yùn)算法則 JTextField inputField; JButton[] NumButton;//數(shù)字鍵 JButton[] symbol;//符號(hào)鍵 calculator(int width,int length,int x,int y){//畫窗體 super("簡(jiǎn)單計(jì)算機(jī)"); setLayout(new FlowLayout()); setBounds(width,length,x,y); init(); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ? } private void init() {//加組件 myJMenuBar=new JMenuBar(); menu = new JMenu("編輯"); menu2 = new JMenu("幫助"); menu3 = new JMenu("關(guān)于我們"); item = new JMenuItem("清空"); item2 = new JMenuItem("撤銷"); item3= new JMenuItem("復(fù)制"); item4= new JMenuItem("作者"); item5= new JMenuItem("版本"); item6= new JMenuItem("制作日期"); item.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ inputField.setText(""); } }); item3.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ calculator.setSystemClipboard(inputField.getText()); } }); item4.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null, "作者:----", "作者信息", JOptionPane.ERROR_MESSAGE); } }); item5.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null, "版本:1.0", "版本信息", JOptionPane.ERROR_MESSAGE); } }); item6.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null, "制作日期:11.17.2016", "制作信息", JOptionPane.ERROR_MESSAGE); } }); menu.add(item); menu.add(item2); menu.add(item3); menu3.add(item4); menu3.add(item5); menu3.add(item6); myJMenuBar.add(menu); myJMenuBar.add(menu2); myJMenuBar.add(menu3); setJMenuBar(myJMenuBar); //上面都是菜單組件和他們方法的添加 inputField =new JTextField(13); inputField.setHorizontalAlignment(JTextField.RIGHT); inputField.setBackground(Color.WHITE); inputField.setCaretColor(Color.WHITE); add(inputField); //顯示屏的添加 NumButton = new JButton[10]; int i; for(i= 0;i<NumButton.length;i++){ String Num =i+""; NumButton[i]=new JButton(Num); NumButton[i].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {//這個(gè)方法是為了實(shí)現(xiàn)在顯示屏追加數(shù)字的 String str = inputField.getText(); inputField.setText(str+Num); } }); add(NumButton[i]); } //數(shù)字鍵的添加 symbol= new JButton[6]; symbol[0]= new JButton("+"); symbol[1]= new JButton("-"); symbol[2]= new JButton("*"); symbol[3]= new JButton("/"); symbol[4]= new JButton("="); symbol[5]= new JButton("退格"); //符號(hào)按鈕聲明 symbol[0].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ num1=inputField.getText();//獲取第一個(gè)運(yùn)算數(shù) syb ="+";//符號(hào)設(shè)置為加號(hào) inputField.setText("");//點(diǎn)擊了加號(hào)按鈕后顯示屏清空為了輸入第二個(gè)運(yùn)算數(shù) symbol[4].addActionListener(this);//給等于號(hào)添加事件,讓等于號(hào)獲取第二個(gè)數(shù),匹配符號(hào),與第一個(gè)數(shù)運(yùn)算 } }); //下面的方法分別是減法乘法除法 symbol[1].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ num1=inputField.getText(); syb ="-"; inputField.setText(""); symbol[4].addActionListener(this); } }); symbol[2].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ num1=inputField.getText(); syb ="*"; inputField.setText(""); symbol[4].addActionListener(this); } }); symbol[3].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ num1=inputField.getText(); syb ="/"; inputField.setText(""); symbol[4].addActionListener(this); } }); symbol[5].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ String str = inputField.getText(); String str1 = str.substring(0,str.length()-1); inputField.setText(str1); } }); //這個(gè)是清空顯示屏的方法 for(i=0;i<symbol.length;i++){ add(symbol[i]); } } //添加符號(hào)按鈕 public static void setSystemClipboard(String refContent){ String vc = refContent.trim(); StringSelection ss = new StringSelection(vc); java.awt.datatransfer.Clipboard sysClb = null; sysClb =Toolkit.getDefaultToolkit().getSystemClipboard(); sysClb.setContents(ss,null); } //復(fù)制顯示屏內(nèi)容的方法 public void actionPerformed(ActionEvent e) { if(e.getSource()==symbol[4]){ String num2 = inputField.getText();//得到第二個(gè)數(shù) int N1 = Integer.parseInt(num1); int N2 = Integer.parseInt(num2); //下面是運(yùn)算 String Sum=(N1+N2)+""; String Dvalue=(N1-N2)+""; String accumulate =(N1*N2)+""; String discuss=(N1/N2)+""; //下面是匹配 if(syb.equals("+")){ inputField.setText(Sum); } else if(syb.equals("-")){ inputField.setText(Dvalue); } else if(syb.equals("*")){ inputField.setText(accumulate); } else if(syb.equals("/")){ inputField.setText(discuss); } } }//這個(gè)是等于號(hào)的方法,分別匹配了加減乘除,并且試圖將結(jié)果輸出到顯示屏上,不過(guò)這個(gè)時(shí)候出問(wèn)題了,結(jié)果沒(méi)出來(lái),顯示屏清空了,可是明明沒(méi)有清空的方法。}
我做的java簡(jiǎn)易計(jì)算機(jī)為什么等于輸出不來(lái)結(jié)果,代碼如下
慕運(yùn)維6388425
2016-11-18 08:14:54