天天看點

Java電腦源代碼 awt+swing圖形界面實作

Java電腦源代碼:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

/**********************Java電腦主類*********************/

public class SunnyCalculator implements ActionListener {

   JFrame f;

   JMenu mEdit;

   JMenu mView;

   JMenu mHelp;

   JMenuItem mCopy;

   JMenuItem mPaste;

   JTextField tResult;

   JButton bNumber;

   JButton bOperator;

   JButton bOther;

   JButton bM;

   boolean isDouble=false;//是否為實數

   int opFlag=-1;

   static double t1=0,t2=0,t3=0,result=0;

   static int opflag1=-1,opflag2=-1,flag=0,resflag=1;

   int preOp,currentOp=0;//标準位

   double op1=0,op2=0;//操作數

   double n3;

   StringBuffer buf=new StringBuffer(20);

   StringBuffer copyBoard=new StringBuffer(20);//剪貼闆

   StringBuffer memory=new StringBuffer(20);//M系列

   StringBuffer str=new StringBuffer();

   //Java電腦構造器

   public SunnyCalculator()

   {

       f = new JFrame("Sunny電腦_楊梅樹的盔甲");

       Container contentPane =f.getContentPane();

       /**************************Java電腦菜單的建立*****************************/

       JMenuBar mBar = new JMenuBar();

       mBar.setOpaque(true);

       mEdit = new JMenu("編輯(E)");

       mEdit.setMnemonic(KeyEvent.VK_E);

       mCopy = new JMenuItem("複制(C)");

       mEdit.add(mCopy);

       mPaste = new JMenuItem("粘貼(P)");

       mEdit.add(mPaste);

       mView = new JMenu("檢視(V)");

       mView.setMnemonic(KeyEvent.VK_V);

       mView.add(new JMenuItem("标準型"));

       mView.add(new JMenuItem("科學型"));

       mView.addSeparator();

       mView.add(new JMenuItem("檢視分組"));

       mHelp = new JMenu("幫助(H)");

       mHelp.setMnemonic(KeyEvent.VK_H);

       mHelp.add(new JMenuItem("幫助主題"));

       mHelp.addSeparator();

       mHelp.add(new JMenuItem("關于電腦"));

       mBar.add(mEdit);

       mBar.add(mView);

       mBar.add(mHelp);

       f.setJMenuBar(mBar);

       contentPane.setLayout(newBorderLayout());

       JPanel pTop = new JPanel();

       tResult = newJTextField("0.",26);

       tResult.setHorizontalAlignment(JTextField.RIGHT);

       tResult.setEditable(false);

       pTop.add(tResult);

      contentPane.add(pTop,BorderLayout.NORTH);

       JPanel pBottom = new JPanel();

       pBottom.setLayout(newBorderLayout());

       JPanel pLeft = new JPanel();

       pLeft.setLayout(newGridLayout(5,1,3,3));

       bM = new JButton(" ");

       bM.setEnabled(false);

       pLeft.add(bM);

      /*************************Java電腦功能鍵定義***************************/

       bOther = new JButton("MC");

       bOther.addActionListener(this);

       bOther.setForeground(Color.red);

       bOther.setMargin(newInsets(3,2,3,2));

       pLeft.add(bOther);

      bOther = new JButton("MR");

      bOther = new JButton("MS");

      bOther = new JButton("M+");

      pBottom.add(pLeft,BorderLayout.WEST);

       JPanel pRight = new JPanel();

       pRight.setLayout(newBorderLayout());

       JPanel pUp = new JPanel();

       pUp.setLayout(newGridLayout(1,3,3,0));

      bOther = new JButton("BackSpace");

       bOther.setMargin(newInsets(3,0,3,5));

       pUp.add(bOther);

      bOther = new JButton("CE");

      bOther = new JButton("C");