请问在swing布局中,如何使CardLayout 布局的lpanel切换卡片.

楠小小 2014-01-09 01:10:46
请问在swing布局中,如何使CardLayout 布局的
lpanel切换卡片.
我的主界面是

public class Cmain extends JFrame {
}

在Cmain 下半部分有一个jpanel1 采用的就是CardLayout 布局。
在Cmain 上半部分有一个jpanel2 add了有很多按钮。
但是jpanel2 的按钮都是用到了按钮特效的,所以我add按钮的时候是add了按钮类TopJB。

请问我应该在TopJB.java中怎么去动态改变Cmain 中的 jpanel1 CardLayout 的show。就是切换卡片。


public class TopJb extends JButton{

public TopJb(String string) {
super();
this.setText(string);
this.setHorizontalTextPosition(SwingConstants.CENTER);
this.setVerticalTextPosition(SwingConstants.BOTTOM);

this.addActionListener(new ActionListener() { //
@Override
public void actionPerformed(ActionEvent e) {
//这里应该怎么写?

}
});
}
...全文
287 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
huntor 2014-01-11
  • 打赏
  • 举报
回复
在userList.java 里提供声明一个方法用来调用show
楠小小 2014-01-11
  • 打赏
  • 举报
回复
3楼你好 你的show 我是知道额。layout.show(container, "C2"); // switch 但是我这个show 是需要放到其它的类文件里面的。show的位置不是和CardLayout  同一个位置。 因为我切换的时候有可能是在c1 ,JPanel中的一个按钮。而这个JPanel是独立的一个文件比如:userList.java
huntor 2014-01-09
  • 打赏
  • 举报
回复
CardLayout layout = new CardLayout();
JPanel container = new JPanel(layout);

container.add(component1, "C1"); // add 
container.add(component2, "C2"); // add 

layout.show(container, "C2"); // switch 
gloomyfish 2014-01-09
  • 打赏
  • 举报
回复
panel2Layout.show(panel2, "do");
http://bbs.csdn.net/topics/390663968
楠小小 2014-01-09
  • 打赏
  • 举报
回复
是我问得太敷衍还是怎么滴。。咋滴又没有人回答。。救命呀。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧