JFrame不能用add()?还是孙卫琴姐姐说错了?
在《java逍遥游记》中P198页提到JFrame和Frame的做大区别在于前者不能通过add()方法加入组件,也不能直接通过setLayout()方法设置布局。以下代码是错误的,运行时将抛出错误
JFrame jFrame = new JFrame("hello");
jFrame.setLayout(new GridLayout(2,1));
jFrame.add(jLabel);
jFrame.add(jButton);
在具体的例子中她又这样说了
/**//wrong
setLayout(new GridLayout(2,1));
add(jLabel);
add(jButton);
*/
她用的是
Container contentPane = getContentPane();
contentPane.setLayout(new GridLayout(2,1));
contentPane.add(jLabel);
contentPane.jFrame.add(jButton);
我直接用的
setLayout(new GridLayout(2,1));
add(jLabel);
add(jButton);
编译和运行都没问题啊 书上说的是对的吗?
[解决办法]
我一直都是JFrame对象调用setLayout和add 运行时反正没错
[解决办法]
java 1.5 之前的确是不行的
[解决办法]
没错,我也是一直这么写的!
[解决办法]