电信拨号器

  公司用的是电信的网络,前段时间公司的电脑总是拨不上去号,自己写了一个基于Java的电信拨号程序,感兴趣的朋友可以下载下看看。

  下面是拨号程序的原代码,大家可以看看,有什么不合理的地方请指出来。


package com.jack.telecom.dial;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Dial extends JFrame{
private JLabel lblConName;
private JTextField txtConName;
private JLabel lblConNum;
private JTextField txtConNum;
private JLabel lblStartNum;
private JComboBox cmbStartNum;
private JLabel lblMaxNum;
private JComboBox cmbEndNum;
private JLabel lblPwd;
private JPasswordField txtPwd;
private JLabel label;
private JLabel lblEndMessage;
private JLabel lblStartMessage;
private JLabel lblConNameMessage;
private JTextArea txaConMessage;
private JLabel lblMessage;
private JTextArea txaMessage;
private JButton btnConn;
private StringBuffer showMessage;
private String conNum;
private String resultStr = "";

public Dial() {
initComponents();
this.setTitle("电信拨号程序");
this.getContentPane().setLayout(null);
this.setSize(400, 500);
this.setVisible(true);
// this.setBounds(100, 100, 400, 472);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private void initComponents() {
lblConName = new JLabel();
lblConName.setText("网络连接名称:");
lblConName.setBounds(10, 26, 91, 18);
this.getContentPane().add(lblConName);

txtConName = new JTextField();
txtConName.setText("jack");
txtConName.setBounds(107, 24, 87, 22);
this.getContentPane().add(txtConName);

lblConNum = new JLabel();
lblConNum.setText("连接帐号:");
lblConNum.setBounds(10, 54, 66, 18);
this.getContentPane().add(lblConNum);

txtConNum = new JTextField();
txtConNum.setText("n037113051");
txtConNum.setBounds(107, 50, 87, 22);
this.getContentPane().add(txtConNum);

lblStartNum = new JLabel();
lblStartNum.setText("起始数:");
lblStartNum.setBounds(10, 103, 66, 18);
this.getContentPane().add(lblStartNum);

cmbStartNum = new JComboBox();
cmbStartNum.setBounds(107, 99, 87, 27);
this.getContentPane().add(cmbStartNum);

lblMaxNum = new JLabel();
lblMaxNum.setText("最大拨号数:");
lblMaxNum.setBounds(10, 138, 91, 18);
this.getContentPane().add(lblMaxNum);

cmbEndNum = new JComboBox();
cmbEndNum.setBounds(107, 132, 87, 27);
for (int i = 1; i <= 99; i++) {
cmbStartNum.addItem(i);
cmbEndNum.addItem(i);
}
this.getContentPane().add(cmbEndNum);

lblPwd = new JLabel();
lblPwd.setText("密码:");
lblPwd.setBounds(10, 179, 91, 18);
this.getContentPane().add(lblPwd);

txtPwd = new JPasswordField();
txtPwd.setText("123456");
txtPwd.setActionCommand("*");
txtPwd.setBounds(107, 177, 94, 22);
this.getContentPane().add(txtPwd);

label = new JLabel();
label.setText("默认密码为123456");
label.setBounds(211, 179, 118, 18);
this.getContentPane().add(label);

lblEndMessage = new JLabel();
lblEndMessage.setText("选择您要进行拨号的最大限制");
lblEndMessage.setBounds(200, 138, 178, 18);
this.getContentPane().add(lblEndMessage);

lblStartMessage = new JLabel();
lblStartMessage.setText("选择您要进行拨号的起始数");
lblStartMessage.setBounds(200, 103, 178, 18);
this.getContentPane().add(lblStartMessage);

lblConNameMessage = new JLabel();
lblConNameMessage.setText("此名称为您拨号连接的名称");
lblConNameMessage.setBounds(200, 26, 178, 18);
this.getContentPane().add(lblConNameMessage);

txaConMessage = new JTextArea();
String msg = "请将您拨号帐号的前10位写上\n其中最后2位可以修改";
txaConMessage.setText(msg);
txaConMessage.setBounds(200, 54, 158, 40);
this.getContentPane().add(txaConMessage);

lblMessage = new JLabel();
lblMessage.setText("连接显示信息:");
lblMessage.setBounds(10, 248, 118, 18);
this.getContentPane().add(lblMessage);

txaMessage = new JTextArea();
txaMessage.setEditable(false);
JScrollPane scroll = new JScrollPane(txaMessage,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scroll.setBounds(10, 272, 368, 155);
this.getContentPane().add(scroll);

btnConn = new JButton();
btnConn.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
Thread t = new Thread() {
public void run() {
Process p = null;
String conn = txtConNum.getText();
int startNum = ((Integer) cmbStartNum.getSelectedItem()).intValue();
int endNum = ((Integer) cmbEndNum.getSelectedItem()).intValue();
String user = txtConName.getText();
String password = txtPwd.getText();
showMessage = new StringBuffer();
for (int i = startNum; i < endNum; i++) {
if (i < 10) {
conNum = conn + "0" + i;
} else {
conNum = conn + i;
}
try {
p = Runtime.getRuntime().exec(
"rasdial.exe " + user + " " + conNum
+ " " + password);
int result = p.waitFor();
if (result == 0) {
resultStr = "连接成功";
// break;
} else {
resultStr = result + "";
}
showMessage.append("当前连接帐号为:" + conNum + "\n"
+ "连接结果:" + resultStr + "\n");
txaMessage.setText(showMessage.toString());
// new Thread().start();
// showMsg(conNum, resultStr);
// System.out.println("得到的数据:" + conNum + "\n" +
// "连接结果:"
// + resultStr + "\n");
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
};
t.start();
}
});
btnConn.setText("开始拨号");
btnConn.setBounds(107, 214, 106, 28);
this.getContentPane().add(btnConn);
}

public void radial(String conNum,int startNum,int endNum,String user,String password){
Process p = null;
String conn = txtConNum.getText();
showMessage = new StringBuffer();
for (int i = startNum; i < endNum; i++) {
if (i < 10) {
conNum = conn + "0" + i;
} else {
conNum = conn + i;
}
try {
p = Runtime.getRuntime().exec(
"rasdial.exe " + user + " " + conNum
+ " " + password);
int result = p.waitFor();
if (result == 0) {
resultStr = "连接成功";
// break;
} else {
resultStr = result + "";
}
showMessage.append("当前连接帐号为:" + conNum + "\n"
+ "连接结果:" + resultStr + "\n");
txaMessage.setText(showMessage.toString());
} catch (Exception e1) {
e1.printStackTrace();
}
}
}

public static void main(String[] args) {
Dial d = new Dial();
}
}



你也可以自己运行一下代码,不过请确定你的网络是电信的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值