【发布时间】:2017-01-17 18:09:08
【问题描述】:
我只是想通过 Eclipse Neon 来使用 Box (Java API) 类。当我导入javax.swing.Box 时,该类似乎不再存在。
如果我这样调用函数:
Box myBox = Box.createHorizontalBox();
Eclipse 显示错误:“方法 createHorizontalBox() 未定义类型 Box”
javax.swing 中是否不包含类 Box(和函数)?知道有什么问题吗?
【问题讨论】:
-
它仍然存在并且有效。
-
确实存在,见the docs。您是否可能在您的项目中定义了它正在调用的不同
Box类?如果你明确地调用它会发生什么,比如javax.swing.Box.createHorizontalBox()? -
您确定您已导入
javax.swing.Box而不是其他 Box 类之一,例如javafx.scene.shape.Box? -
无论如何,Java 不会从任何 java 或 javax 包中删除公共方法(或公共字段或公共类)。这是 OO 中称为 contract 的基本概念的一部分。(理论上,已弃用的 API 可以在以后的版本中删除,但到目前为止还没有发生。)