代码之家  ›  专栏  ›  技术社区  ›  Erick Robertson

我应该关心使用AWTUtilities.setWindowsShape()吗?

  •  4
  • Erick Robertson  · 技术社区  · 14 年前

    我用的是 AWTUtilities 类来创建自定义窗口形状。据我所知,没有别的办法。这是一项要求。

    javadoc生成给了我这个错误:

    警告:com.sun.awt.AWTUtilities是sun专有的API,可能会在将来的版本中删除

    这到底是什么意思?我可以使用它,但它可能会停止与任何版本的工作?那为什么要放进去?更重要的是,这里真正的问题是,如果Sun把它取出来,他们会用另一种方法来代替它来做同样的事情吗?这就是警告的目的吗?

    仅供参考,我读过:

    How to distribute AWTUtilities

    2 回复  |  直到 7 年前
        1
  •  4
  •   rancidfishbreath    11 年前

    documentation 国家:

    注意:com.sun.awt.AWTUtilities类不是官方支持的API的一部分,而是作为实现细节出现的。该API仅用于核心平台之外的有限用途。在不同的更新版本之间,它可能会发生很大的变化,甚至可能会在其他一些包或类中被删除或移动。该类应该通过Java反射来使用。支持的公共API将出现在下一个主要JDK版本中。

    一个稳定的方法是在SWT中创建一个Shell snippet 然后使用SWT\u AWT桥获取要在应用程序中使用的帧:

    java.awt.Frame frame = SWT_AWT.new_Frame(shell);
    

    所以这是两个选择:处理缺陷风险或使用SWT\u AWT桥。

    编辑:

    一段时间过去了,Java7已经过时了。有关于官方支持的方法来实现这一点的文档 Java Tutorials . 底部的“如何实现成形窗口”部分给出了一个示例。当然,这假设您可以授权Java7

        2
  •  0
  •   Ivan Vasquez    11 年前

    你不需要一个新的框架对象,你只能使用

    this.setShape(shape);
    

    Frame1.setShape(shape);
    

    java.AWT.Frame中已经应用了很多AWT方法

    推荐文章