已有101人关注
请指教,java中短信猫的使用(仿照java项目开发例题六企业快信)
发表在Java图书答疑 2008-10-11
是否精华
版块置顶:
import javax.swing.*;
import BestMail.*;
import java.awt.*;
import java.awt.event.*;

public class Shoujifasong {
public static void main(String[] args) {
Fasong fs=new Fasong();
}
}
class Fasong extends JFrame implements ActionListener{
JTextField fasongHao=new JTextField(10);
JTextField fasongText=new JTextField(10);
JButton fasongButton=new JButton("发送");
smssend smssender=null;
Fasong(){
JPanel Jnorth=new JPanel();
Jnorth.add(new JLabel("手机号码:"));
Jnorth.add(fasongHao);

JPanel Jcenter=new JPanel();
Jcenter.add(new JLabel("发送内容:"));
Jcenter.add(fasongText);
add(Jnorth,BorderLayout.NORTH);
add(Jcenter,BorderLayout.CENTER);
add(fasongButton,BorderLayout.SOUTH);
fasongButton.addActionListener(this);
setSize(200,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if(smssender.GSMModemInitNew("COM4", "9600", null, "GSM", true, "YIWU-IJDD-****-****")){
byte[] sendtest=smssender.getUNIByteArray(fasongText.getText());
 if(!smssender.GSMModemSMSsend(null, 8, sendtest, fasongHao.getText(), false)){
 System.out.println("发送短信失败"+smssender.GSMModemGetErrorMsg());
 }
     }
    }
}


以上是我写的段使用短息猫的代码,BestMail.jar文件我已经加载了,短息猫连接也没问题(利用VB开发的软件使用的非常好,但是在java中就不行了,奇怪!),运行时始终出现如下错误提示,麻烦高人指点:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Fasong.actionPerformed(Shoujifasong.java:33)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
分享到:
精彩评论 8
小小邪
学分:0 LV1
2008-10-13
沙发
smssender对象没有初始化,你只声明了,没有创建对象
xuyejun
学分:0 LV1
2008-10-14
板凳
能否帮忙把上面的程序改一下。使得能运行呢?
小小邪
学分:0 LV1
2008-10-15
地板
[FIELDSET][LEGEND]引自:2楼[/LEGEND]
能否帮忙把上面的程序改一下。使得能运行呢?
[/FIELDSET]

回复:
  你把smssend smssender=null;替换为smssend smssender=new smssend();试试
xuyejun
学分:0 LV1
2008-10-16
4L
不行,我早就试过了,不知道哪位?把java项目全程视频开发 中 例题六调试成功过的, 能否跟我联系一下
急!
小小邪
学分:0 LV1
2008-10-16
5L
看你的错误代码,就是smssender没有初始化,如果你初始化了,请将新的错误代码发过来,另外这个程序需要连接短信猫设备才能发送短信。程序在图书出版时,我们都是经过测试的。
xuyejun
学分:0 LV1
2008-10-21
6L
修改后的代码是:
import javax.swing.*;
import BestMail.*;

import java.awt.*;
import java.awt.event.*;

public class Shoujifasong {
public static void main(String[] args) {
Fasong fs=new Fasong();
}
}
class Fasong extends JFrame implements ActionListener{
JTextField fasongHao=new JTextField("13962517844");
JTextField fasongText=new JTextField("你好");
JButton fasongButton=new JButton("发送");
smssend smssender=new smssend();
Fasong(){
JPanel Jnorth=new JPanel();
Jnorth.add(new JLabel("手机号码:"));
Jnorth.add(fasongHao);

JPanel Jcenter=new JPanel();
Jcenter.add(new JLabel("发送内容:"));
Jcenter.add(fasongText);
add(Jnorth,BorderLayout.NORTH);
add(Jcenter,BorderLayout.CENTER);
add(fasongButton,BorderLayout.SOUTH);
fasongButton.addActionListener(this);
setSize(200,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if(smssender.GSMModemInitNew("COM4", "9600", null, "GSM", true, null)){
byte[] sendtest=smssend.getUNIByteArray(fasongText.getText());
 if(smssender.GSMModemSMSsend(null, 8, sendtest, fasongHao.getText(), false)){
 System.out.println("发送短信成功");
 }
     }
    }
}

错误代码是:
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x04674dc2, pid=3852, tid=5396
#
# Java VM: Java HotSpot(TM) Client VM (10.0-b22 mixed mode, sharing windows-x86)
# Problematic frame:
# C  [BestMail.dll+0x4dc2]
#
# An error report file with more information is saved as:
# C:\workspace\试一试手机发送\hs_err_pid3852.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
说明:
我有短信猫,是在这个网站上买的,USB接口型的,是不是跟《企业快信》中的不一样啊?假如不一样就要不同的开发包和动态连接是吗?还有我买的这个短信猫没有SN号,用VB程序调试是能用的,但是就在java中不能用,
请指教何故?
请问《企业快信》中的短信猫在哪里买的?什么型号的?多少钱?我想买个跟《企业快信》中的短信猫一样,重新试一试。




小小邪
学分:0 LV1
2008-10-22
7L
如果购买了短信猫设备,它应该带两个DLL文件,复制到Windows安装文件夹的System32文件夹下。本书在开发时使用的是金仓牌的短信猫,com接口的。
另外,本程序的SN编号使用“*”字符屏蔽了原有编号,你需要向短信猫销售商索取自己设备的SN编码
小怪_1481033114
学分:4 LV1
2016-12-06
8L

小小邪 发表于2008-10-16 16:24

看你的错误代码,就是smssender没有初始化,如果你初始化了,请将新的错误代码发过来,另外这个程序需要连接短信猫设备才能发送短信。程序在图书出版时,我们都是经过测试的。

现在也没有短信猫设备啊

首页上一页 1 下一页尾页 8 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照