CardLayout布局的问题,请问怎么改?小菜求教
首先,请看代码:
//import ... 略去
public class VisualPanel_user {
JFramejf=null;
CardLayoutcard=null;
public VisualPanel_user() {
JPaneljpN=newJPanel();
JPaneljpW=newJPanel();
JPaneljpC=newJPanel();
card=new CardLayout();
JLabeluser_name=newJLabel("hello,"+Login_Cla.user_name);
JLabel title=new JLabel(" 欢迎进入系统 ");
user_name.setFont(new java.awt.Font("华文行楷", 0, 30));
title.setFont(new java.awt.Font("华文行楷", 0, 30));
jpN.add(user_name);
jpN.add(Box.createHorizontalStrut(100),"CENTER");
jpN.add(title,"CENTER");
jpN.add(Box.createHorizontalStrut(100),"CENTER");
jpN.setBorder(new Border(){
public Insets getBorderInsets(Component c) {
return new Insets(10,10,10,10);
}
public boolean isBorderOpaque() {
return false;
}
public void paintBorder(Component c, Graphics g, int x, int y,
int width, int height) {
}});
JScrollPane scroll=new JScrollPane();
finalJTreetree=newJTree();
DefaultMutableTreeNode root=newDefaultMutableTreeNode();
DefaultMutableTreeNode buy=newDefaultMutableTreeNode();
DefaultMutableTreeNode deposit=newDefaultMutableTreeNode();
DefaultMutableTreeNode money=newDefaultMutableTreeNode();
DefaultMutableTreeNode transfer=newDefaultMutableTreeNode();
DefaultMutableTreeNode withdraw=newDefaultMutableTreeNode();
root.setUserObject("管理菜单");
buy.setUserObject("购买商品");
deposit.setUserObject("即时存款");
money.setUserObject("资金查询");
transfer.setUserObject("即时转账");
withdraw.setUserObject("即时取款");
root.add(buy);
root.add(deposit);
root.add(money);
root.add(transfer);
root.add(withdraw);
DefaultTreeModeldtm=newDefaultTreeModel(root);
tree.setModel(dtm);
scroll.setViewportView(tree);
jpW.add(scroll);
// final JPanelp_1=new UserBuy_Cla();
// final JPanelp_2=new UserDeposit_Cla();
// final JPanelp_3=new UserMoney_Cla();
// final JPanelp_4=new UserTransfer_Cla();
// final JPanelp_5=new UserWithdraw_Cla();
final JPanelp_1=new JPanel();
final JPanelp_2=new JPanel();
final JPanelp_3=new JPanel();
final JPanelp_4=new JPanel();
final JPanelp_5=new JPanel();
p_1.setBackground(Color.black);
p_2.setBackground(Color.blue);
p_3.setBackground(Color.cyan);
p_4.setBackground(Color.DARK_GRAY);
p_5.setBackground(Color.gray);
jpC.setLayout(card);
jpC.add(p_1,"buy");
jpC.add(p_2,"deposit");
jpC.add(p_3,"money");
jpC.add(p_4,"transfer");
jpC.add(p_5,"withdraw");
jf=newJFrame("在线销售系统");
jf.add(jpN,BorderLayout.NORTH);
jf.add(jpW,BorderLayout.WEST);
jf.add(jpC,BorderLayout.CENTER);
jf.pack();
jf.setVisible(true);
tree.addTreeSelectionListener(new TreeSelectionListener(){
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode select = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
if( select.toString().equals("购买商品") )
card.show(p_1,"buy");
else if( select.toString().equals("即时存款"))
card.show(p_2,"deposit");
else if( select.toString().equals("资金查询"))
card.show(p_3,"money");
else if( select.toString().equals("即时转账"))
card.show(p_4,"transfer");
else
card.show(p_5,"withdraw");
}});
}
public static void main(String[] args) {
new VisualPanel_user();
}
}
final JPanel cards = jpC;
tree.addTreeSelectionListener(new TreeSelectionListener(){
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode select = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
if( select.toString().equals("购买商品") )
card.show(cards ,"buy");
else if( select.toString().equals("即时存款"))
card.show(cards ,"deposit");
else if( select.toString().equals("资金查询"))
card.show(cards ,"money");
else if( select.toString().equals("即时转账"))
card.show(cards ,"transfer");
else
card.show(cards ,"withdraw");
}});