从Java调用C ++ DLL

我正在使用Java作为一个小应用程序。 它是对现有MFC项目的重写。 我需要更改现有的dll以使用JNI从Java启用访问。 所有这些Java的东西对我来说都是新的,所以当我阅读其他论坛post时,我遇到了一些麻烦并且感觉相当密集。 在现有的DLL中我有这样的函数: extern “C” __declspec(dllexport) bool Create() { return TRUE; } 愚蠢的提问时间。 如何正确设置它以供Java调用? 我试过这个: JNIEXPORT jboolean JNICALL Create() { return TRUE; } 我包括jni.h,一切都很好。 但是,当我从Java调用它时,我得到UnsatisfiedLinkError。 我用Java调用它: public static native boolean CreateSession(); System.load(“D:\\JavaCallTest.dll”); Create(); 有人可以向我推进正确的方向吗? 我真诚地感谢任何帮助。 谢谢, 缺口

在Swing GUI中定位组件

我有一些关于定位组件的问题以及关于文本字段和文本区域的一些问题(Java Swing)。 任何帮助是极大的赞赏。 现在我试图让两个文本字段彼此相邻,每个文本字段上面都有一个不同的标签,用于描述该文本字段的作用。 为此,我将它们放在GridLayout(2, 2) 。 这是最好的方法吗? 这是我知道直接在另一个组件上标签的唯一方法。 有没有更好的办法? 如果一个按钮上方只有一个标签怎么办? 通过GridLayout(2, 1)来定位它是否明智? 我视力受损,所以我不认为定位按钮只是它们的像素位置是一个选项,除非有一个简单的方法将组件放在相对像素数的另一个组件。 这引出了我的下一个问题。 拥有与上面相同的UI但是在其下居中的另一个组件(按钮)的最佳方法是什么。 本质上,UI应该由两个命名文本字段组成,其下有一个计算按钮。 我这样做的方法是将上面的组件放在一个面板中,然后将这个加上计算按钮添加到带有GridLayout(2, 1)的周围面板。 问题是按钮变得和它上面的面板一样大(我假设)。 如何调整此选项仍然可以在文本字段/标签面板下完美对齐按钮? 与文本区域上方的标签类似。 标签应该很小,但文本区域下面有更大的空间。 (文本字段):再次参考上面的UI,如果用户在第一个文本字段中键入了许多字符,那么字母是否会超过右侧的文本字段? 如果是这样我怎么能阻止这个? 如果我将文本附加到文本区域并且它已经满了,它会自动允许用户滚动吗? 如果不是什么是使文本区域可滚动的简单方法? 现在我没有设置文本区域的大小。 它是否随着我添加文字而增长? 它是否具有字符数的默认大小?

Eclipse – 显示生成的类文件

在eclipse中构建项目后,如何显示放置类文件的文件夹(bin)? 我希望此目录显示在包资源管理器中。 搜索论坛,但似乎无法找到答案

如何操作数组。 找到平均值。 初学者Java

我有一个家庭作业,我想知道是否有人可以帮助我,因为我不熟悉Java和编程,而且我遇到了问题。 问题是: 第一种方法查找整数数组的元素的平均值: public double average(int[] data) 也就是说,给定一个整数数组,数据,计算其元素的平均值是否返回平均值。 例如,{1,3,2,5,8}的平均值为3.8。 这是我到目前为止所做的: public double average(int[] data) { int sum = 0; while(int i=0; i < data.length; i++) sum = sum + data[i]; double average = sum / data.length;; System.out.println("Average value of array element is " " + average); } 在编译它时,我在int i=0部分得到一条错误消息,说’.class expected’。 任何帮助,将不胜感激。

为什么我们不能在Thread对象的同一个实例上调用start方法两次?

我正在阅读有关线程的文章,发现我们无法在同一个线程实例上调用两次start方法。 但我不明白同样的确切原因。 那么为什么我们不能称之为两次甚至更多次呢?

访谈:如何确保一个接一个的线程运行?

有线程T1 , T2和T3 ,我们怎样才能确保线程T2在T1之后运行而线程T3在T2之后运行? 我的采访中提到了这个问题。 我没回答。 请详细解释。

有关Java上无效XML字符的错误

在Java上解析xml文件我得到错误: An invalid XML character (Unicode: 0x0) was found in the element content of the document. xml来自web服务。 问题是我只在webservice在localhost(windows + tomcat)上运行时才会收到错误,但是当webservice在线时(linux + tomcat)则不会。 我怎样才能替换无效的char? 谢谢。

如何使用Ant创建捆绑的可运行jar

我看了这个问题 ,但它并没有真正解决我的问题,所以我想我会发布一个新问题。 我需要使用Ant创建一个可运行的jar(只需双击即可运行)。 我有以下java代码和build.xml文件,它编译代码很好并创建一个jar文件,但是当我尝试通过双击运行jar时,我收到一条消息“无法找到主类:HttpController。 java的“。 我怀疑我的问题与加载外部Apache Http.jar ,因为我已成功构建并运行一个相同项目的jar,除了它没有引用任何外部jar。 这是我的代码: HttpController.java: package pack; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpMessage; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; public class HttpController { public static void main(String[] args) { DefaultHttpClient client = new DefaultHttpClient(); HttpHost httphost = new HttpHost(“localhost”, 80); try { […]

PowerMock,模拟静态方法,然后在所有其他静态上调用真实方法

我正在设置一个类的静态方法。 我必须在@Before -annotated JUnit设置方法中执行此操作。 我的目标是设置类来调用实际方法, 除了我明确模拟的那些方法。 基本上: @Before public void setupStaticUtil() { PowerMockito.mockStatic(StaticUtilClass.class); when(StaticUtilClass.someStaticMethod(antString())).thenReturn(5); // mock out certain methods… // Now have all OTHER methods call the real implmentation??? How do I do this? } 我StaticUtilClass的问题是,在StaticUtilClass ,方法public static int someStaticMethod(String s)不幸地抛出RuntimeException如果提供了null值)。 因此,我不能简单地将调用实际方法的明显路线作为默认答案,如下所示: @Before public void setupStaticUtil() { PowerMockito.mockStatic(StaticUtilClass.class, CALLS_REAL_METHODS); // Default to calling real static […]

Swing数据绑定框架

一年前几乎提出了同样的问题,但这个领域有一些新的发展。 为swing应用程序选择(数据绑定)框架似乎非常困难。 JSR-295被废弃了,许多提供绑定的swing框架都是正在进行中,被遗弃或者太重了我的非常简单的应用程序。 JGoodies Swing套件价格昂贵,但幸运的是它的库是免费的。 有没有人有任何新的UFaceKit的实际经验。 它看起来很有希望,但还不成熟。 我对Swing实现和文档特别感兴趣。 任何有关UFaceKits开发计划的见解都会受到赞赏,因为我可以暂时选择框架。 要求不是什么花哨的东西,只是使用一个漂亮的API进行绑定。 我还发现了Mogwai dataBinding ,但它看起来相当不完整并且需要手动同步激活,这使得它与手工编写的粗粒度同步相比毫无用处。 不完整的框架至少包括Spring RCP和许多JSR-296分支。 那么,JGoodies数据绑定真的是唯一现实的选择吗? 或者还有其他可行的解决方案吗? 编辑: 这个问题似乎在谷歌中排名相当高,并且接受的答案反映了最初被问到的时间问题。 任何想要构建使用数据绑定的新swing应用程序的人都应该检查所有答案,他们有关于该领域最新进展的信息。