第二十三篇 Java如何編譯 計算機 的原始碼共用

來源:互聯網
上載者:User

標籤:java   部落格   原始碼   類   生活   

   大家好,今天放了一天的假,無聊的我簡單的敲了一下計算機的原始碼,發現以前的東西都忘的差不多了,所以趁現在還有點記憶,先試著敲回以前的感覺。。。。

    好了,廢話不多說,先看原碼:

先建立一個主類:

public class Test{

  public static void main(String[ ] args){

    Calculator calc=new Calculator();
         calc.PaintingFrameUi();

}


}

在建立幾個監聽器:

第一個:

import javax.swing.*;    (要引包,由於包名過多,可以 用 “*”  一筆帶過。。。。)
import java.awt.event.*;


public class StringListener implements ActionListener{
 //=============構造擷取TextField===================
 JTextField jtx = null;

 public StringListener(JTextField textarea){
  jtx = textarea;
 }
 //=============運算子監聽器========================
 

public void actionPerformed(ActionEvent e){
  String command=e.getActionCommand();
  if(command.equals("=")){
   String content = jtx.getText();
   int result1 = content.indexOf("+");
   int result2 = content.indexOf("-");
   int result3 = content.indexOf("*");
   int result4 = content.indexOf("/");
   jtx.setText("");
                 //=============開始判斷============================  
   if (result1>0){
    String value1 = content.substring(0, result1);
    String value2 = content.substring(result1+1, content.length()); 
    float f1 = Float.parseFloat(value1);
    float f2 = Float.parseFloat(value2);
    jtx.setText(""+(f1+f2));
   }else if(result2>0){
    String value1 = content.substring(0, result2);
    String value2 = content.substring(result2+1, content.length()); 
    float f1 = Float.parseFloat(value1);
    float f2 = Float.parseFloat(value2);
    jtx.setText(""+(f1-f2));
   }else if(result3>0){
    String value1 = content.substring(0, result3);
    String value2 = content.substring(result3+1, content.length()); 
    float f1 = Float.parseFloat(value1);
    float f2 = Float.parseFloat(value2);
    jtx.setText(""+(f1*f2));
   }else if(result4>0){
    String value1 = content.substring(0, result4);
    String value2 = content.substring(result4+1, content.length()); 
    float f1 = Float.parseFloat(value1);
    float f2 = Float.parseFloat(value2);
    jtx.setText(""+(f1/f2));
   }
  }else{
  jtx.setText(jtx.getText()+command);
  }
 }
 


}

第二個監聽事件:

import javax.swing.*;
import java.awt.event.*;


public class MyListener implements ActionListener{
 //===============構造擷取TextField================
 JTextField jtx = null;

 public MyListener(JTextField textarea){
  jtx = textarea;
 }


 //===============監聽數字控制項======================
 public boolean one=true;
 public void actionPerformed(ActionEvent e){
  String command=e.getActionCommand();
 if (one){
  jtx.setText(jtx.getText()+command);
 }
 }
}

最後一個包:

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class Calculator{
 public String number[] ={"1","2","3","+","4","5","6","-","7","8","9","*","0",".","/","="};
 public void PaintingFrameUi(){
 //===========Draw Main frame==========================
 JFrame frame=new JFrame();
 frame.setSize(242,285);
 frame.setLocationRelativeTo(null);
 frame.setDefaultCloseOperation(3);
 frame.setTitle("Calculator");


 //===========Set Layout================================
 FlowLayout  layout=new FlowLayout(0,0,0);
 frame.setLayout(layout);
 

 //===========To instance TextField Control=============
 JTextField textarea=new JTextField(20);
 textarea.setHorizontalAlignment(JTextField.RIGHT);
 frame.add(textarea);
 JPanel jp = new JPanel();
 Dimension dimen = new Dimension(225,225);
 jp.setPreferredSize(dimen);
 frame.add(jp);
 GridLayout gl = new GridLayout(4,4);
 jp.setLayout(gl);


 //===========Add listenre==============================
 ActionListener action_listener=new MyListener(textarea);
 ActionListener string_listener=new StringListener(textarea);


 //===========To instance Control=======================
 for(int i=0;i<16;i++){
 JButton button=new JButton(number[i]);
 jp.add(button);
 if (i==3 || i==7 || i==11 || i==15 || i==14 || i==13){
 button.addActionListener(string_listener);
 }else{
 button.addActionListener(action_listener);
 }
 }


 //===========ShowFrame=================================
 frame.setVisible(true);
 }
}


好了,看到這裡 我相信你們都是看不是太懂,但是沒關係,自己動手去操作一下就知道效果了



由於時間關係,今天的代碼就先寫到這裡,現在繼續每天的目標和計劃吧:

1、每天鍛煉指法一小時;

2、每天堅持寫一篇部落格或者日誌;

3、每天上課提前十五分鐘進教室;

4、給自己鼓勵一句話-------不要太在意別人的眼光,最重要的是看自己的眼光,別人覺得好,證明你倆的愛好很像,他要是覺得你的眼光不好,也就證明了你倆愛好不一樣而已;







第二十三篇 Java如何編譯 計算機 的原始碼共用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.