【问题标题】:Windows Forms Panel.Handle equivalent in Java swingJava swing 中的 Windows 窗体 Panel.Handle 等效项
【发布时间】:2015-10-19 11:51:38
【问题描述】:

我正在将一个 C# windows 窗体应用程序转换为一个 Java swing 应用程序,但我被困在一个需要将窗口句柄传递给 C++ JNI 层的位置。

在 C++ 层,我有一个函数接受 void* 指针作为窗口句柄 即

void SetWindowHandle(void* handle);

在 C# 中,它只是这样完成的:

obj.SetWindowHandle(videoPanel.Handle);//videoPanel is System.Windows.Forms.Panel

在 Java 中,我使用 JPanel 而不是 Windows.Forms.Panel 创建了 UI,但我不知道如何获取此 JPanel 的句柄。

有什么想法,怎么做? JFYI,这个窗口句柄在较低的C++层中用作渲染视频的句柄。

【问题讨论】:

  • 他们使用 JFrame 中的句柄
  • @Thomas Cud u 提供更多详细信息。具体来说,是否有任何直接的属性或方法可用于获取 JPanel/JFrame 的句柄?
  • 我的速度不太快,但这可能会回答你的问题:stackoverflow.com/questions/386792/…

标签: java c# c++ swing


【解决方案1】:

我通过参考 Thomas 在评论部分提到的 SO Post 解决了这个问题。

需要注意的一点是,要使此方法有效,您需要使用java.awt.Panel 而不是javax.swing.JPanel,因为这是我犯的错误并浪费了一天!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多