applet调用dll中的接口出错

insei 2013-01-11 05:44:45

public class ButtonTestApplet extends JApplet
{
private static final long serialVersionUID = 1L;

public void init()
{
setLayout(new BorderLayout());

JPanel panel = new JPanel();
JButton yellowButton = new JButton("Yellow");
yellowButton.addActionListener(yellowAction(panel));
panel.add(yellowPanel);

add(panel, BorderLayout.SOUTH);
}

static
{
System.loadLibrary("calldll");
}

public native int shanfei(int i);

private ActionListener yellowAction(final JPanle panel)
{
return new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
panel.setBackground(Color.yellow);//执行到此都正确
ButtonTestApplet jc = new ButtonTestApplet();
int j;
j = jc.shanfei(4);//提示出错
JOptionPane.showMessengeDialog(panel, j);
}
}
}
}


以上applet可以在html中运行(打jar包,签名等之后),但不能正常使用dll动态库中的接口,出错提示:java.lang.UnsatisfiedLinkError...
...全文
237 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
insei 2013-01-14
  • 打赏
  • 举报
回复
解决了。是dll的问题。大概说下:javah生成头文件时,主程序用的abc.java。后来嫌长,改名a.java,但是头文件和dll库都没有更新。 从c入手java,很不适应名称,包名、类名一致什么的问题。
insei 2013-01-14
  • 打赏
  • 举报
回复
引用 1 楼 ace62 的回复:
先试试通过Application是否可以调用该dll,以确保dll访问这个环节没有问题
试了没问题 原本也是从网上抄来的例子 。 上面错误提示是eclipse运行环境产生的,弹出界面没问题,按钮点击变色也没问题 执行shanfei时出错
ace62 2013-01-14
  • 打赏
  • 举报
回复
先试试通过Application是否可以调用该dll,以确保dll访问这个环节没有问题

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧