⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 show.java

📁 如下功能: 1、二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方、取模等简单计算 2、科学计算函数
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
/*
 * Show.java
 *
 * Created on 2007年12月3日, 下午10:26
 */

package com.jakie.caculator.frame;
import java.util.*;
import javax.swing.*;
import com.jakie.caculator.expression.Expression;
import static java.lang.Math.*;
import java.awt.*;
/**
 *
 * @author  jiebo
 */
public class Show extends javax.swing.JFrame {
    
    /** Creates new form Show */
    public Show() {
        initComponents();
    }
    
    private void setText(String str){
        String temp=expression.getText();
        if(temp.equals("在这里输入"))
            temp="";
        expression.setText(temp+str);
    }
    
//
    //
    private int caculatN(){
        int n;
        if(ten.isSelected())
            n=10;
        else if(two.isSelected())
            n=2;
        else if(eight.isSelected())
            n=8;
        else
            n=16;
        return n ;
    }
    private void setResult(){
        String str=expression.getText();
        int n=caculatN();
        if(str==null||str.equals(""))
            result.setText("对不起,表达式不能为空");
        else if(str.equals("在这里输入"))
            result.setText("对不起,请输入表达式");
        else
        {
            String str2=expr.getResult(expression.getText(),n);
            if(str2.equals("表达式错误"))
                result.setText(str2);
            else{
                try{
                    float flag=Float.parseFloat(str2);
                    int temp=(int)flag;
                    if(n==2)
                        str=Integer.toBinaryString(temp);
                    else if(n==8)
                        str=Integer.toOctalString(temp);
                    else if(n==16)
                        str=Integer.toHexString(temp);
                    else
                        str=flag+"";
                    result.setText(str);
                }catch(Exception e){
                    e.printStackTrace();
                }
            }
        }
    }
    
    private void addHistoryExpr(){
        String str=expression.getText();
        str.trim();
        StringBuffer sb=new StringBuffer(historyExpression.getText());
        if(str!=null||str!=""||!str.equals("在这里输入")||!str.equals("表达式错误")||!str.equals("对不起,表达式不能为空")){
            sb.append(str);
            sb.append("="+result.getText()+"\n");
            historyExpression.setText(sb.toString());
        }
    }
    //
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
    private void initComponents() {
        buttonGroupType = new javax.swing.ButtonGroup();
        buttonGroupJinZhi = new javax.swing.ButtonGroup();
        buttonGroupRan = new javax.swing.ButtonGroup();
        buttonGroupNum = new javax.swing.ButtonGroup();
        jPanel1 = new javax.swing.JPanel();
        jLabel4 = new javax.swing.JLabel();
        radian = new javax.swing.JRadioButton();
        angle = new javax.swing.JRadioButton();
        tan = new javax.swing.JButton();
        sqrt = new javax.swing.JButton();
        cot1 = new javax.swing.JButton();
        tan1 = new javax.swing.JButton();
        cos1 = new javax.swing.JButton();
        sin1 = new javax.swing.JButton();
        cos = new javax.swing.JButton();
        sin = new javax.swing.JButton();
        cot = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        historyExpression = new javax.swing.JTextArea();
        jLabel6 = new javax.swing.JLabel();
        clearHistory = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        bu6 = new javax.swing.JButton();
        bu3 = new javax.swing.JButton();
        bu7 = new javax.swing.JButton();
        bu4 = new javax.swing.JButton();
        bu1 = new javax.swing.JButton();
        bu0 = new javax.swing.JButton();
        bu2 = new javax.swing.JButton();
        bu5 = new javax.swing.JButton();
        bu8 = new javax.swing.JButton();
        bu9 = new javax.swing.JButton();
        buB = new javax.swing.JButton();
        buA = new javax.swing.JButton();
        jPanel4 = new javax.swing.JPanel();
        delivery = new javax.swing.JButton();
        power = new javax.swing.JButton();
        back = new javax.swing.JButton();
        exit = new javax.swing.JButton();
        buC = new javax.swing.JButton();
        buD = new javax.swing.JButton();
        buE = new javax.swing.JButton();
        buF = new javax.swing.JButton();
        leftBracket = new javax.swing.JButton();
        rightBracket = new javax.swing.JButton();
        add = new javax.swing.JButton();
        sub = new javax.swing.JButton();
        mul = new javax.swing.JButton();
        div = new javax.swing.JButton();
        pointer = new javax.swing.JButton();
        caculat = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        eight = new javax.swing.JRadioButton();
        ten = new javax.swing.JRadioButton();
        two = new javax.swing.JRadioButton();
        sixteen = new javax.swing.JRadioButton();
        caculatB = new javax.swing.JButton();
        jLabel5 = new javax.swing.JLabel();
        result = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        expression = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        standard = new javax.swing.JRadioButton();
        science = new javax.swing.JRadioButton();
        clear = new javax.swing.JButton();
        jMenuBar = new javax.swing.JMenuBar();
        file = new javax.swing.JMenu();
        fileOpen = new javax.swing.JMenuItem();
        fileSave = new javax.swing.JMenuItem();
        fileExit = new javax.swing.JMenuItem();
        edit = new javax.swing.JMenu();
        editBack = new javax.swing.JMenuItem();
        editCopy = new javax.swing.JMenuItem();
        editRemove = new javax.swing.JMenuItem();
        find = new javax.swing.JMenu();
        findStarder = new javax.swing.JMenuItem();
        findSciense = new javax.swing.JMenuItem();
        help = new javax.swing.JMenu();
        helpWhat = new javax.swing.JMenuItem();
        helpAbout = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("\u8bbe\u8ba1\u8005\uff1a\u66fe\u6d01\u6ce2  05\u8ba1\u79d13\u73ed 3105006899");
        setBackground(new java.awt.Color(102, 153, 255));
        jPanel1.setBackground(new java.awt.Color(102, 255, 204));
        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
        jPanel1.setEnabled(false);
        jLabel4.setText("\u5f27\u5ea6\u9009\u62e9:");

        buttonGroupRan.add(radian);
        radian.setSelected(true);
        radian.setText("\u5f27\u5ea6");
        radian.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        radian.setMargin(new java.awt.Insets(0, 0, 0, 0));

        buttonGroupRan.add(angle);
        angle.setText("\u89d2\u5ea6");
        angle.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        angle.setMargin(new java.awt.Insets(0, 0, 0, 0));

        tan.setText("tan");
        tan.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tanMouseClicked(evt);
            }
        });

        sqrt.setText("sqrt");
        sqrt.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                sqrtMouseClicked(evt);
            }
        });

        cot1.setText("cot~1");
        cot1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                cot1MouseClicked(evt);
            }
        });

        tan1.setText("tan~1");
        tan1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tan1MouseClicked(evt);
            }
        });

        cos1.setText("cos~1");
        cos1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                cos1MouseClicked(evt);
            }
        });

        sin1.setText("sin~1");
        sin1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                sin1MouseClicked(evt);
            }
        });

        cos.setText("cos");
        cos.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                cosMouseClicked(evt);
            }
        });

        sin.setText("sin");
        sin.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                sinMouseClicked(evt);
            }
        });

        cot.setText("cot");
        cot.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                cotMouseClicked(evt);
            }
        });

        historyExpression.setColumns(15);
        historyExpression.setEditable(false);
        historyExpression.setRows(5);
        jScrollPane1.setViewportView(historyExpression);

        jLabel6.setText("\u5386\u53f2\u8868\u8fbe\u5f0f:");

        clearHistory.setText("\u6e05\u9664\u5386\u53f2\u8868\u8fbe\u5f0f");
        clearHistory.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                clearHistoryMouseClicked(evt);
            }
        });

        org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel1Layout.createSequentialGroup()
                .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jPanel1Layout.createSequentialGroup()
                        .add(26, 26, 26)
                        .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(jLabel4)
                            .add(radian, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 118, Short.MAX_VALUE)
                            .add(angle, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 118, Short.MAX_VALUE)))
                    .add(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .add(tan)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(cot))
                    .add(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .add(sin)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(cos))
                    .add(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .add(sqrt))
                    .add(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .add(tan1)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -