我正在学习在 GUI 中定位对象的不同方法,但我真的不明白为什么有必要转换为 LayoutManager
才能使用 setLayout
方法。是否需要实现LayoutManager
接口才能正常工作?
public class FlowL extends JApplet{
public void init(){
// why is the cast necessary ?
// an error occurs when its setLayout(new FlowLayout());
setLayout((LayoutManager) new FlowLayout());
}
}
"即使错误消失了,我也得到了一个错误。
java.lang.ClassCastException
:flowLayout.FlowLayout
不能投射到java.awt.LayoutManager
"
没有标准的Java类flowLayout.FlowLayout
。那是你的类(或者可能是一些不扩展布局管理器的第三方类,我非常怀疑)。
您需要导入
import java.awt.FlowLayout;
并摆脱你的
import flowLayout.FlowLayout; // if you have that.
- 要吸取的教训:不要将类命名为与现有 Java 类相同的名称。