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

📄 phonesimulator.java

📁 用java程序写的一个模拟打电话的小程序
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
                while((add=in.readLine())!=null){//从服务器端读出地址簿
                phoneAddTextArea.append(add+"\n"                
                );//加入到文本框中                
                }
                in.close();            
           }
            phoneAddSocket.close();
            saveButton.setEnabled(true);
        }
        catch (UnknownHostException e) {
            System.err.println("Don't know about host:"+host );
              saveButton.setEnabled(false);//初始化没有成功,该button无效
        }
        catch(IOException e){
            System.err.println("error:"+e.getMessage());
              saveButton.setEnabled(false);//初始化没有成功,该button无效
        }
    }
    
    /** 用于产生自动拨号进程的类。
     */    
    public class AutoDialWorker extends SwingWorker {
        /** 自动拨号的号码。
         */        
        private String num;
        /** 自动拨号进程构造方法
         * @param number 自动拨号的号码。
         */        
        public AutoDialWorker(java.lang.String number) {
            num=number;
        }
        
        /**
         * 设定自动拨号进程所要完成的任务。
         * @return 本系统中无效。
         */
        public Object construct() {
          //System.out.println("AutoDialWorker construct invoked!");  
          for(int i=0;i<num.length();i++){
            char digit=num.charAt(i);
            switch(digit){
                case('0'):
                    Button0.doClick();
                    break;                   
                case('1'):
                    Button1.doClick();
                    break;                    
                case('2'):
                    Button2.doClick();
                    break;
                case('3'):
                    Button3.doClick();
                    break;
                case('4'):
                    Button4.doClick();
                    break;
                case('5'):
                    Button5.doClick();
                    break;
                case('6'):
                    Button6.doClick();
                    break;
                case('7'):
                    Button7.doClick();
                    break;
                case('8'):
                    Button8.doClick();
                    break;
                case('9'):
                    Button9.doClick();
                    break;
               }
               try{
                   Thread currentThread=Thread.currentThread();
                   currentThread.sleep(200);
               }
               catch(InterruptedException e){
                   System.out.println(e.getMessage());
               }
              
        }
            return null;
        }
    }
    
        /** 初始状态
        */    
        private  final int initialState = 0;
        /** 免提状态
         */        
        private  final int directListenState = 1;
        /**自动拨号状态A
         */  
        private  final int autoDialAState = 3;      
        /**自动拨号状态B
         */
        private  final int autoDialBState = 4;
        /**手工拨号状态
         */
        private  final int manualDialState = 5;
        /**连接状态
         */
        private  final int connectState = 6;
        /**记录上一次所拨的电话号码
         */
        private String lastDialNumber="";
        /**记录当前正在拨的电话号码
         */
        private StringBuffer currentDialNumber;
        /**记录当前拨的某一按钮的号码
         */
        private char currentNumber;
        /**记录当前的所处的状态
         */
        private int currentState=initialState;
        /**是否是第一次拨数字键
         */
        private boolean firstDial=true;
        /**记录从哪个状态进入手工拨号状态
         */
        private int fromStateMan;
        /**记录从哪个状态进入连接状态
         */
        private int fromStateCon;
        /**记录从哪个状态进入自动拨号状态
         */
        private int fromStateAuto;
        /**记录当前所拨的号码的个数
         */
        private int  noOfNumber=0;
        /**是否接通
         */
        private boolean isConnected;
        /**音频文件
         */
        private java.applet.AudioClip[] dialDigitAudio=new java.applet.AudioClip[10];
        /**忙音
         */
        private java.applet.AudioClip busyAudio;
        /**用哪个音呼叫(忙音或响铃)
         */
        private java.applet.AudioClip connectAudio;
        /**免提声
         */
        private java.applet.AudioClip directListenAudio;
        /**响铃
         */
        private java.applet.AudioClip ringAudio;
        /**挂断音
         */
        private java.applet.AudioClip hangUpAudio;
        /**非数字键声音
         */
        private java.applet.AudioClip dialNonDigitAudio;
        /**在地址簿中选中的号码
         */        
        private String selectedNum=null;
        /**用于自动拨号的进程
         */
        private AutoDialWorker autoDialThread=null;
        
        
        // Variables declaration - do not modify//GEN-BEGIN:variables
        /**按键组
         */
	private javax.swing.ButtonGroup functionRadioGroup;
        /**顶层panel
         */
	private javax.swing.JPanel topPanel;
        /**左部panel
         */
	private javax.swing.JPanel westPanel;
        /**记事簿标签
         */
	private javax.swing.JLabel notepadLabel;
        /**记事簿滚动条
         */
	private javax.swing.JScrollPane notepadScrollPane;
        /**记事簿文本区
	 */
	private javax.swing.JTextArea notepadTextArea;
        /**中心panel
         */
	private javax.swing.JPanel centerPanel;
        /**电话号码显示屏
         */
	private javax.swing.JTextField phoneNumDisp;
        /**按键panel
	 */
	private javax.swing.JPanel buttonPanel;
        /**数字键一
	 */
	private javax.swing.JButton Button1;
        /**数字键二
	 */
	private javax.swing.JButton Button2;
        /**数字键三
	 */
	private javax.swing.JButton Button3;
        /**数字键四
	 */
	private javax.swing.JButton Button4;
        /**数字键五
	 */
	private javax.swing.JButton Button5;
        /**数字键六
	 */
	private javax.swing.JButton Button6;
        /**数字键七
	 */
	private javax.swing.JButton Button7;
        /**数字键八
	 */
	private javax.swing.JButton Button8;
        /**数字键九
	 */
	private javax.swing.JButton Button9;
        /**键*
	 */
	private javax.swing.JButton ButtonStar;
        /**数字键零
	 */
	private javax.swing.JButton Button0;
        /**键#
	 */
	private javax.swing.JButton ButtonSharp;
        /**右边panel
	 */
	private javax.swing.JPanel eastPanel;
        /**地址簿标签
	 */
	private javax.swing.JLabel phoneAddLabel;
        /**地址簿滚动条
	 */
	private javax.swing.JScrollPane phoneAddScrollPane;
        /**地址簿文本区
	 */
	private javax.swing.JTextArea phoneAddTextArea;
        /**下部panel
	 */
	private javax.swing.JPanel southPanel;
        /**拨号键
	 */
	private javax.swing.JButton dialButton;
        /**存储键
	 */
	private javax.swing.JButton storeButton;
        /**保存键
	 */
	private javax.swing.JButton saveButton;
        /**挂断键
	 */
	private javax.swing.JButton hangupButton;
        /**重播键
      	 */
	private javax.swing.JButton redialButton;
        /**免提键
	 */
	private javax.swing.JToggleButton directListenToggle;
        /**暂停键
	*/
	private javax.swing.JToggleButton pauseToggle;
        // End of variables declaration//GEN-END:variables

      
        /**用于访问本地文件系统而建立的客户端socket
         */
        private Socket phoneAddSocket;
        /**表示用户想存储地址簿
         */
        public static final int savePhoneAdd = 0;
        /**表示用户想读取地址簿
         */
        public static final int readPhoneAdd = 1;
        /**服务器主机地址
         */
        public String host = null;
        /**表示是在初始化时加载地址簿
         */
        public static int initialAdd=1;
        /**表示是在非初始化时加载地址簿
         */
        public static int accessAdd=0; 
        
   }

⌨️ 快捷键说明

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