CardLayout的JPanel全部显示出来的,不能分层次切换。 100
packagecom.view;importjava.awt.CardLayout;importjava.awt.EventQueue;importjavax.swing...
package com.view;
import java.awt.CardLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import com.view.jpanel.Content;
import com.view.jpanel.Left;
import com.view.jpanel.Title;
import com.view.V_Model;
public class V_Main{
JFrame frame;
V_Model v_model = new V_Model();
JPanel title = new JPanel(); //顶部面板
JPanel left= new JPanel(); //左边面板
JPanel content= new JPanel(); //右边面板
CardLayout cl = new CardLayout();
Title j_title = new Title();
Left j_left = new Left();
Content j_content = new Content();
//中间省略了
//把所有需要显示的JPanel都加入到设置了CardLayout的JPanel
title.add(j_title.hello());
left.add(j_left.left());
content.add(j_content.login_content(),"login");
content.add(j_content.add_content(),"add");
content.add(j_content.admin_login(),"admin");
cl.show(content, "login");
frame.getContentPane().add(title);
frame.getContentPane().add(left);
frame.getContentPane().add(content);
}
}
//自己搞了下,发现方法调用的JPanel不能加CardLayout,还想问下,每个JPanel里面的监控器应该写在哪里?我是想把所有的监控器写在另外一个类,行吗?
//中间省略那里少了部分代码。
title = v_model.getTitle();
left = v_model.getLeft();
content = v_model.getContent();
content.setLayout(cl);
//把所有需要显示的JPanel都加入到设置了CardLayout的JPanel 展开
import java.awt.CardLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import com.view.jpanel.Content;
import com.view.jpanel.Left;
import com.view.jpanel.Title;
import com.view.V_Model;
public class V_Main{
JFrame frame;
V_Model v_model = new V_Model();
JPanel title = new JPanel(); //顶部面板
JPanel left= new JPanel(); //左边面板
JPanel content= new JPanel(); //右边面板
CardLayout cl = new CardLayout();
Title j_title = new Title();
Left j_left = new Left();
Content j_content = new Content();
//中间省略了
//把所有需要显示的JPanel都加入到设置了CardLayout的JPanel
title.add(j_title.hello());
left.add(j_left.left());
content.add(j_content.login_content(),"login");
content.add(j_content.add_content(),"add");
content.add(j_content.admin_login(),"admin");
cl.show(content, "login");
frame.getContentPane().add(title);
frame.getContentPane().add(left);
frame.getContentPane().add(content);
}
}
//自己搞了下,发现方法调用的JPanel不能加CardLayout,还想问下,每个JPanel里面的监控器应该写在哪里?我是想把所有的监控器写在另外一个类,行吗?
//中间省略那里少了部分代码。
title = v_model.getTitle();
left = v_model.getLeft();
content = v_model.getContent();
content.setLayout(cl);
//把所有需要显示的JPanel都加入到设置了CardLayout的JPanel 展开
2个回答
展开全部
你让你的所以的JPanel 都 继承一个父类,在父类里面写监听 就可以实现了
更多追问追答
追问
现在先要搞好JPanel的布局先,不能切换啊,已经用了CardLayout了,上面的代码少了句content.setLayout(cl),刚才复制少了的。
追答
JButton jButton=new JButton("login");
JButton jButton2=new JButton("add");
JButton jButton3=new JButton("admin");
JButton jButton3=new JButton("next");
JButton jButton3=new JButton("previous");
public void actionPerformed(ActionEvent e) {
String string=e.getActionCommand();
if("login".equals(string))
cl.show(content,"login");
else if("add".equals(string))
cl.show(content,"add");
else if("admin".equals(string))
cl.show(content,"admin");
else if("next".equals(string))
cl.next(content);
else if("previous".equals(string))
cl.previous(content);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询