java学习笔记-------对卡片布局管理器的深入理解

对于卡片布局管理器的深入理解:

1. A容器的CarLayout 对象,拥有对装入该容器内的所有卡片的最高管理权限。

2.那么布局管理器是怎么找到卡片的呢???

(). 此卡片的父容器  // 存储该卡片的地方

().此卡片的名字     // 存储在容器内的卡片,为了区分和查找,必须为每一个卡片起一个名字。


3.CardLayout 的show 方法

:public  void  show (Container parent,    String name)

// 显示父容器内中的名字叫:name 的卡片


4.卡片布局的使用模型:


().把卡片放入JFrame 中

this.add(jp1,"1");

this.add(jp2,"2");


().在监听器内,调用卡片布局管理器对象的JFrame 的show方法

cl.show (this.getContentPane(),"1");









具体实例代码如下:


cl=new CarLayout();
this.setLayout(cl);
this.add(jph1,"1");// 加载第一张卡片
// 在JFrame 中放置第二张卡片

this.add(jpmsr1,"2");//放置第二张卡片

// 监听器
public void actionPerformed(ActionListener arg0)
{
// 如果用户点击的是陌生人按钮的话,就显示第二张卡片
if(arg0.getSource==jphy_jb2)
{
cl.show(this.getContentPane(),"2");// 为什么不能写出cl.show(this,"2");???
}

else if(arg0.getSource==jpmsr_jb1)
{
cl.show(this.getContentPane(),"1");//如何理解这句话??? 这句话的意思是什么??

// 如何理解这个cl 对象? 和这个对象的方法?
// 为什么cl对象,可以控制卡片的显示???

}

}


public void mouseClicked(MouseEvent arg0)
{
// 还有一件事,当我选中了一号小人的标签之后,双击可以进入与此人的聊天。
// 响应用户双击的事件,并得到好友的编号,拿到它的socket
if(arg0.getClickCout()==2)
{
//得到给好友的编号
String friendNo=((JLabel)arg0.getSource()).getText();
System.out.println("你希望"+friendNo+"谁聊天");

// 如何做到当双击谁时,能跳出与此人的聊天
}
}

你可能感兴趣的:(Java)