zoukankan      html  css  js  c++  java
  • Java小应用程序

    Java小应用程序:

    package applet;

     

    import java.applet.AudioClip;

    import java.awt.BorderLayout;

    import java.awt.Graphics;

    import java.awt.Image;

    import java.awt.event.ActionEvent;

    import java.awt.event.ActionListener;

    import java.awt.event.ItemEvent;

    import java.awt.event.ItemListener;

     

    import javax.swing.JApplet;

    import javax.swing.JButton;

    import javax.swing.JComboBox;

    import javax.swing.JLabel;

    import javax.swing.JOptionPane;

    import javax.swing.JPanel;

    import javax.swing.JTextField;

     

    public class AppletCalculator extends JApplet implements ItemListener,ActionListener{

        

        //author:王晓勃

        //学号:100102060122

        

        //定义程序变量和对象

        JLabel name,id,result;

        JTextField text1,text2;

        JTextField number1,number2,number3;

        double nb1,nb2,nb3;

        JComboBox jcstyle; //列表框对象

        String[] style = new String[]{"+","-","*","/","%","1/x","sqrt"};

        AudioClip au; //音乐文件对象

        Image img;

        JButton start = new JButton("播放");

        JButton stop = new JButton("停止");

        JButton jbloop = new JButton("循环");

        JButton count = new JButton("计算");

        JButton mc = new JButton("清空");

        

        //初始化init()

        public void init(){

            //初始化对象

            img = getImage(getCodeBase(),"1.jpg");

            JPanel jp1 = new JPanel(); //定义面板jp1

            name = new JLabel("姓名:");        

            id = new JLabel("学号:");

            text1 = new JTextField("王晓勃",10);

            text1.setHorizontalAlignment(JTextField.CENTER); //设置文本对齐方式

            text1.setEnabled(false); //设置文本框不可编辑

            text2 = new JTextField("100102060122",10);

            text2.setHorizontalAlignment(JTextField.CENTER);

            text2.setEnabled(false);

            //把组件加入面板

            jp1.add(name);

            jp1.add(text1);

            jp1.add(id);        

            jp1.add(text2);

              

            //定义面板jp2

            JPanel jp2 = new JPanel();

            number1 = new JTextField("",5);

            number2 = new JTextField("",5);

            number3 = new JTextField("",5);

            number1.setHorizontalAlignment(JTextField.RIGHT);

            number2.setHorizontalAlignment(JTextField.RIGHT);

            number3.setHorizontalAlignment(JTextField.RIGHT);

            result = new JLabel("=");        

            jcstyle = new JComboBox(style); //为列表框添加选项数组

            //添加事件监听器

            count.addActionListener(this);

            mc.addActionListener(this);

            jcstyle.addItemListener(this);

            jp2.add(number1);

            jp2.add(jcstyle);

            jp2.add(number2);

            jp2.add(result);

            jp2.add(number3);        

            jp2.add(count);

            jp2.add(mc);

              

            //定义面板jp3

            JPanel jp3 = new JPanel();

            au = getAudioClip(getCodeBase(),"nan.wav");

            //添加事件监听器

            start.addActionListener(this);

            stop.addActionListener(this);

            jbloop.addActionListener(this);

            jp3.add(start);

            jp3.add(jbloop);

            jp3.add(stop);

              

            //设置布局管理器

            setLayout(new BorderLayout());

            add(BorderLayout.NORTH,jp1);

            add(BorderLayout.CENTER,jp2);

            add(BorderLayout.SOUTH,jp3);

            setSize(500,200);

              

            

        }

        

        //JComboBox事件处理函数

        public void itemStateChanged(ItemEvent e){

            if(e.getItem()=="1/x"){

                number2.setText("");

                number2.setEditable(false);

            }

            if(e.getItem()=="sqrt"){

                number2.setText("");

                number2.setEditable(false);

            }

            if(e.getItem()=="+"){

                number2.setEditable(true);

            }

            if(e.getItem()=="-"){

                number2.setEditable(true);

            }

            if(e.getItem()=="*"){

                number2.setEditable(true);

            }

            if(e.getItem()=="/"){

                number2.setEditable(true);

            }

            if(e.getItem()=="%"){

                number2.setEditable(true);

            }

        }

        

        //其他事件处理函数

        public void actionPerformed(ActionEvent e){

            JButton b = (JButton)e.getSource();

              

            if(b.equals(start))

            {

                au.play();

            }

            if(b.equals(jbloop)){

                au.loop();

            }

            if(b.equals(stop)){

                  

                au.stop();

            }

            if(b.equals(mc)){

                number1.setText("");

                number2.setText("");

                number3.setText("");

            }

            if(b.equals(count)){

                try{

                if(jcstyle.getSelectedItem()=="+"){

                      

                      

                    nb1 = Double.parseDouble(number1.getText());

                    nb2 = Double.parseDouble(number2.getText());

                    nb3 = nb1 + nb2;

                    number3.setText(""+nb3);

                      

                      

                }

                if(jcstyle.getSelectedItem()=="-"){

                      

                    nb1 = Double.parseDouble(number1.getText());

                    nb2 = Double.parseDouble(number2.getText());

                    nb3 = nb1 - nb2;

                    number3.setText(""+nb3);

                }

                if(jcstyle.getSelectedItem()=="*"){

                      

                    nb1 = Double.parseDouble(number1.getText());

                    nb2 = Double.parseDouble(number2.getText());

                    nb3 = nb1 * nb2;

                    number3.setText(""+nb3);

                }

                if(jcstyle.getSelectedItem()=="/"){

                      

                    nb1 = Double.parseDouble(number1.getText());

                    nb2 = Double.parseDouble(number2.getText());

                    nb3 = nb1 / nb2;

                    number3.setText(""+nb3);

                }

                if(jcstyle.getSelectedItem()=="%"){

                      

                    nb1 = Double.parseDouble(number1.getText());

                    nb2 = Double.parseDouble(number2.getText());

                    nb3 = nb1 % nb2;

                    number3.setText(""+nb3);

                }

                if(jcstyle.getSelectedItem()=="1/x"){

                      

                    nb1 = Double.parseDouble(number1.getText());

                      

                      

                    number3.setText(""+1/nb1);

                }

                if(jcstyle.getSelectedItem()=="sqrt"){

                  

                    nb1 = Double.parseDouble(number1.getText());

                      

                      

                    number3.setText(""+Math.sqrt(nb1));

                }

                }

                catch(Exception ee){

                    JOptionPane.showMessageDialog(null, "输入格式有误,请检查后重新输入!");

                }

                  

            }

        }

        public void stop(){

            au.stop();

        }

          

          

        

     

    }

    A dwarf on a giant's shoulder sees the farther of the two. 站在巨人肩上的矮子看得比巨人远。 --A dwarf on a giant's shoulders
  • 相关阅读:
    彻底解决IE6下Asp.net Ajax客户端框架未能加载
    mootools【二】 Array篇
    SQL Server存储过程编写和优化措施
    Calendar ——漂亮的MooTools 日历插件
    免费使用和 Ajax & Javascript 操纵和显示图片的代码
    26步获得网站流量
    SEO中的十个“没必要”
    如何选择关键字
    建设一个成功的网站
    jQuery 编辑器(转载)
  • 原文地址:https://www.cnblogs.com/wxb0328/p/3161672.html
Copyright © 2011-2022 走看看