《java計算器》word版.doc_第1頁
《java計算器》word版.doc_第2頁
《java計算器》word版.doc_第3頁
《java計算器》word版.doc_第4頁
《java計算器》word版.doc_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

實 習(xí) 報 告題目: 高級程序語言設(shè)計(Java) 系部名稱: 經(jīng)濟管理系 專業(yè)班級: 信管104 學(xué)生姓名: 張揚程 學(xué) 號: 201004034432 指導(dǎo)教師: 王志輝 劉帆 教師職稱: 講師 2011年12月30日import java.awt.*;import javax.swing.*;import java.awt.event.*;import javax.swing.border.*;import java.text.DecimalFormat; public class JSQ JFrame frame; JMenuBar mb; JMenu m1,m2,m3; JMenuItem copy,cut,paste,content,index,b,k,s; Font t;JButton bN,bS;ImageIcon img; JTextField text;GridBagLayout gridbag;GridBagConstraints c; JPanel p1,p2; JLabel label; private boolean IfResult = true, flag = false; private String operation = =; private double result = 0; private Num numActionListener;private DecimalFormat df; public JSQ ( ) frame=new JFrame(計算器); df = new DecimalFormat(#.#); img=new ImageIcon(圖片/圖片.jpg);frame.setIconImage(img.getImage();frame.setResizable(false);frame.setBounds(200,200,320,280);Container c1=frame.getContentPane(); mb=new JMenuBar( ); m1=new JMenu(編輯(E); copy=new JMenuItem(復(fù)制(C) Ctrl+C); paste=new JMenuItem(粘貼(P) Ctrl+V); m2=new JMenu(查看(V); b=new JMenuItem(標準型(T); k=new JMenuItem(科學(xué)型(S); s=new JMenuItem(數(shù)字分組(I); m3=new JMenu(幫助(H); content=new JMenuItem(幫助主題(H); index=new JMenuItem(關(guān)于計算器(A); t=new Font(sanserif,Font.PLAIN,12); addEditMenu(); addViewMenu(); addHelpMenu();addJMenuBar(); frame.setJMenuBar(mb); c=new GridBagConstraints(); gridbag=new GridBagLayout(); p1=new JPanel();c1.add (p1); p1.setLayout(gridbag);text=new JTextField(0.,25); text.setBackground(Color.white);p2=new JPanel(); text.setHorizontalAlignment(JTextField.RIGHT); text.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED); text.setEditable(false); p2.add(text);label=new JLabel ( ); c = newGridBagConstraints(0,1,1,1,0,0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,new Insets(0,2,0,2),0,0); gridbag.setConstraints(label,c); label.setFont(new Font(Serif,Font.PLAIN,15); label.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED); p1.add(label); numActionListener = new Num(); addJPanel(p2,0,0,6,1); addJButton(Backspace,1,1,2,1,Color.red,new Clear(); addJButton(CE,3,1,2,1,Color.red,new Clear(); addJButton(C,5,1,1,1,Color.red,new Clear(); addJButton(MC,0,2,1,1,Color.red,new Clear(); addJButton(MR,0,3,1,1,Color.red,new Clear(); addJButton(MS,0,4,1,1,Color.red,new Clear(); addJButton(M+,0,5,1,1,Color.red,new Clear(); addJButton(7,1,2,1,1,Color.blue,numActionListener); addJButton(4,1,3,1,1,Color.blue,numActionListener); addJButton(1,1,4,1,1,Color.blue,numActionListener); addJButton(0,1,5,1,1,Color.blue,numActionListener); addJButton(8,2,2,1,1,Color.blue,numActionListener); addJButton(5,2,3,1,1,Color.blue,numActionListener); addJButton(2,2,4,1,1,Color.blue,numActionListener); addJButton(9,3,2,1,1,Color.blue,numActionListener); addJButton(6,3,3,1,1,Color.blue,numActionListener); addJButton(3,3,4,1,1,Color.blue,numActionListener); addJButton(+/-,2,5,1,1,Color.blue,numActionListener); addJButton(.,3,5,1,1,Color.blue,numActionListener); addJButton(/,4,2,1,1,Color.red,new Signs(); addJButton(*,4,3,1,1,Color.red,new Signs(); addJButton(-,4,4,1,1,Color.red,new Signs(); addJButton(+,4,5,1,1,Color.red,new Signs(); addJButton(Sqrt,5,2,1,1,Color.blue,new Signs(); addJButton(%,5,3,1,1,Color.blue,new Signs(); addJButton(1/x,5,4,1,1,Color.blue,new Signs();addJButton(=,5,5,1,1,Color.red,new Signs(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); private void addEditMenu()m1.add( copy);m1.addSeparator();m1.add( paste);m1.setFont(t); private void addViewMenu()m2.add(b);m2.addSeparator();m2.add(k);m2.addSeparator();m2.add(s);m2.setFont(t); private void addHelpMenu() m3.add(content); m3.add(index); m3.addSeparator();m3.setFont(t); private void addJMenuBar() mb.add(m1); mb.add(m2); mb.add(m3);private void addJPanel(String name,int gridx,int gridy,int gridwidth,int gridheight ) c.gridx=gridx; c.gridy=gridy; c.gridwidth=gridwidth; c.gridheight=gridheight; gridbag.setConstraints(p2,c);p1.add(p2); private void addJButton(String name,int gridx,int gridy,int gridwidth,int gridheight,Color yanse,ActionListener action)JButton button =new JButton(name); button.addActionListener(action);c.gridx=gridx;c.gridy=gridy;c.gridwidth=gridwidth;c.gridheight=gridheight;c.anchor=GridBagConstraints.CENTER;button.setForeground(yanse);c.insets=new Insets(3,2,3,2);gridbag.setConstraints(button,c);p1.add(button);class Num implements ActionListenerpublic void actionPerformed(ActionEvent e)String str = e.getActionCommand();if(IfResult)text.setText(str);IfResult = false;else text.setText(text.getText().trim() + str);if(text.getText().equals(0)text.setText(0);IfResult = true;flag = true;private void getResult (double x)if(operation = +) result += x; else if(operation = -) result -= x; else if(operation = *) result *= x; else if(operation = /) result /= x; else if(operation = =) result = x; text.setText(df.format(result); class Signs implements ActionListener public void actionPerformed(ActionEvent e) String str = e.getActionCommand(); if( str.equals(%) ) text.setText(df.format(Double.parseDouble(text.getText() / 100);else if ( flag ) IfResult = false;If ( IfResult ) operation = str; else getResult(Double.parseDouble(text.getText();operation = str;IfResult = true;class Clear implements ActionListenerpublic void actionPerformed(ActionEvent e) String str = e.getActionCommand();if(str = C)text.setText(0);IfResult = true;result = 0;else if(str = -/+)double i = 0 - Double.parseDouble (text.getText( ).trim();text.setText(df.format(i); else if(str = Backspace)if(Double.parseDouble(text.getText() 0)if(text.getText().length() 1)text.setText(text.getText().substring(0,text.getText()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論