【问题标题】:JFrame equivalent for C# handle pointerC# 句柄指针的 JFrame 等效项
【发布时间】:2017-04-11 08:17:38
【问题描述】:

我目前正在尝试将代码从 C# 移植到 java。在 C# 代码中,panel.handle 部分返回当前面板的 intptr。然后将 intptr 传递给 DLL 方法。 C#代码如下:

IntPtr Handle = Panel1.Handle;

必须使用相同的 DLL。我发现了一些使用 Win32 和 JNI 的东西,但我不明白如何使用它。有谁知道相当于这个方法的java swing?

【问题讨论】:

  • 也许你应该看看this 作为参考
  • 感谢您的链接。这对我找到解决方案很有帮助。

标签: java winforms jframe c#-3.0 win32gui


【解决方案1】:

感谢评论中的链接和其他一些研究,我设法找到了与 c# 中的 Handle 属性等效的东西。这是我对面临同样问题的任何人所做的:

    import javax.swing.*;

    import com.sun.jna.Native;
    import com.sun.jna.Pointer;
    import com.sun.jna.platform.win32.WinDef.HWND;

    public class main {
       public static void main(String[] args) {
           JFrame jFrame = new JFrame();
           final HWND hwnd = new HWND(Native.getComponentPointer(jFrame));
           System.out.println(hwnd);
       }
    }

请注意,这仅适用于 windows 机器,因为只有 windows 才有一切都是窗口的概念,每个窗口都有一个句柄。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多