import java.awt.*;
import javax.swing.*;
public class
import javax.swing.*;
import java.awt.*;
import javax.swing.tree.*;
import javax.swing.event.*;
/*<applet code="JT.class" width=200 height=300>
</applet>*/
public class JT extends JApplet {
JTree tree;
JTextField box;
Object nodeInfo;
String node1;
public void init() {
Container c=getContentPane();
c.setLayout(new BorderLayout());
DefaultMutableTreeNode topNode=new DefaultMutableTreeNode("qiscet");
DefaultMutableTreeNode cou=new DefaultMutableTreeNode("Courses");
DefaultMutableTreeNode mca=new DefaultMutableTreeNode("MCA");
DefaultMutableTreeNode mba=new DefaultMutableTreeNode("MBA");
DefaultMutableTreeNode tech=new DefaultMutableTreeNode("B.tech");
topNode.add(cou);
cou.add(mca);
cou.add(mba);
cou.add(tech);
DefaultMutableTreeNode manage=new DefaultMutableTreeNode("Management");
DefaultMutableTreeNode ac=new DefaultMutableTreeNode("Accounts");
DefaultMutableTreeNode sp=new DefaultMutableTreeNode("Sports");
DefaultMutableTreeNode lib=new DefaultMutableTreeNode("Library");
topNode.add(manage);
manage.add(ac);
manage.add(sp);
manage.add(lib);
tree=new JTree(topNode);
c.add(tree,BorderLayout.NORTH);
box=new JTextField("",80);
c.add(box,BorderLayout.SOUTH);
}
}
我的问题是不使用“Container c=getContentPane();”我得到了正确的输出。这怎么可能?这是什么原因?
首先,Swing 让您使用 getContentPane() 来执行诸如 add() 和 setLayout() 之类的操作,以使您意识到存在不同的层。一段时间后,我猜他们承认这很痛苦,所以他们在内部调用了 getContentPane(),这样你就不必再这样做了。
最后,七年后,我们做出了 jFrame.add 相当于 jFrame.getContentPane().add()
Gfj hghhkg fhgof fgkf hfjgdjh fhffjf gfjfdig ghhfhk hgjfib hgjfk ghhfjkg auobkt mbcg iojkd sbkr79 9tkd4 842。Ghost.uegc ig.zduf o9hlvcw7b。 Z8cj.jhf ju7gv8b