运用setLayout布局的时候为什么会报下面这种错,求解
ThemethodsetLayout(LayoutManager)inthetypeContainerisnotapplicable...
The method setLayout(LayoutManager) in the type Container is not applicable
展开
展开全部
你的类名FlowLayout与类库中的类名FlowLayout冲突了,程序在setLayout时不知用哪个,就用了你定义的FlowLayout类,所以出错.
改正方法是把你定义的类的类名改成MyFlowLayout,构造函数改成public MyFlowLayout(),注意你的Java代码的文件名也要改成MyFlowLayout.java以与你的类名匹配.
完整的Java程序如下(改动的地方见注释)
MyFlowLayout.java
import java.awt.Frame;
import java.awt.FlowLayout;//这里引入FlowLayout类
import java.awt.Button; //这里引入Button类
//import java.awt.LayoutManager;//这里去掉这句
//import javax.swing.JFrame;//这里去掉这句
public class MyFlowLayout{ //这里把FlowLayout类改成MyFlowLayout类
public MyFlowLayout(){ //这里把FlowLayout构造函数改成MyFlowLayout构造函数
Frame jFrame=new Frame();
jFrame.setSize(400,300);
jFrame.setLocation(20,20);//这里把Frame位置放上面一点,把200改成20
jFrame.setBackground(Color.LIGHT_GRAY);
jFrame.setLayout(new FlowLayout());
for(int i=0;i<=7;i++){
jFrame.add(new Button("按钮"));
}
jFrame.setVisible(true);
}
public static void main(String[] args){
new MyFlowLayout();//这里把FlowLayout类改成MyFlowLayout类
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询