java 问题:为什么不能用this代替getContentPane() ,小弟是个新手?
importjava.awt.*;importjavax.swing.*;publicclassTestextendsJFrame{JLabeljl1,jl2,jl3;p...
import java.awt.*;
import javax.swing.*;
public class Test extends JFrame {
JLabel jl1, jl2, jl3;
public static void main(String[] args) {
// TODO Auto-generated method stub
Test shi = new Test();
}
Test(){
jl1=new JLabel(new ImageIcon("src/ActionListen/1.jpg"));
jl2=new JLabel(new ImageIcon("src/ActionListen/2.jpg"));
jl3=new JLabel(new ImageIcon("src/ActionListen/3.jpg") );
CardLayout cc=new CardLayout();
this.setLayout(cc);
getContentPane().add("1",jl1);
getContentPane().add("2",jl2);
getContentPane().add("3",jl3);
cc.next(getContentPane());
this.setSize(300,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
} 展开
import javax.swing.*;
public class Test extends JFrame {
JLabel jl1, jl2, jl3;
public static void main(String[] args) {
// TODO Auto-generated method stub
Test shi = new Test();
}
Test(){
jl1=new JLabel(new ImageIcon("src/ActionListen/1.jpg"));
jl2=new JLabel(new ImageIcon("src/ActionListen/2.jpg"));
jl3=new JLabel(new ImageIcon("src/ActionListen/3.jpg") );
CardLayout cc=new CardLayout();
this.setLayout(cc);
getContentPane().add("1",jl1);
getContentPane().add("2",jl2);
getContentPane().add("3",jl3);
cc.next(getContentPane());
this.setSize(300,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
} 展开
3个回答
展开全部
JFrame 类与 Frame 轻微不兼容。与其他所有 JFC/Swing 顶层容器一样,JFrame 包含一个 JRootPane 作为其惟一的子容器。根据规定,根窗格所提供的内容窗格应该包含 JFrame 所显示的所有非菜单组件。这不同于 AWT Frame。作为 add 的便捷方法及其变体,已经重写了 remove 和 setLayout,以在必要时将其转发到 contentPane。这意味着可以编写:frame.add(child);子级将被添加到 contentPane。内容窗格始终是非 null 的。试图将其设置为 null 会导致 JFrame 抛出异常。默认的内容窗格上会设置有 BorderLayout 管理器。有关添加、移除和设置 JFrame 的 LayoutManager 的详情,请参阅 RootPaneContainer。
也就是说 你说的问题可以用this~
参考资料是从5.0开始的~1.4的没找到~也许你说的问题存在于1.4及以前的版本里
也就是说 你说的问题可以用this~
参考资料是从5.0开始的~1.4的没找到~也许你说的问题存在于1.4及以前的版本里
参考资料: http://www.cjsdn.net/doc/jdk50/javax/swing/JFrame.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你还是没有明白this到底是什么东西啊~
this指的是类本身
getContentPane()是得到一个ContentPane的实例
this指的是类本身
getContentPane()是得到一个ContentPane的实例
追问
想问一下this是不是可以相当于这个类的一个对象呢???
追答
是的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this不是指的本类的context吗?不能随便就用在某个函数上吧……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询