java cardlayout性能_Java中CardLayout的使用

1 importjava.awt.BorderLayout;2 importjava.awt.CardLayout;3 importjava.awt.Color;4 importjava.awt.Dimension;5 importjava.awt.Font;6 importjava.awt.Graphics;7 importjava.awt.GridLayout;8 importjava.awt.Image;9 importjava.awt.Label;10 importjava.awt.event.ActionEvent;11 importjava.awt.event.ActionListener;12 importjava.awt.event.WindowAdapter;13 importjava.awt.event.WindowEvent;14

15 importjavax.swing.BorderFactory;16 importjavax.swing.ImageIcon;17 importjavax.swing.JFrame;18 importjavax.swing.JLabel;19 importjavax.swing.JMenu;20 importjavax.swing.JMenuBar;21 importjavax.swing.JMenuItem;22 importjavax.swing.JPanel;23

24 public class UserMain extends JFrame implementsActionListener {25 privateString name;26 public voidsetName(String name) {27 this.name =name;28 }29

30 publicString getName() {31 returnname;32 }33

34 privateCardLayout cl;35

36 publicCardLayout getCl() {37 returncl;38 }39

40 //所用面板

41 private JPanel main = newJPanel();42 publicJPanel getMain() {43 returnmain;44 }45 JPanel barPanel = newJPanel();46 JPanel userPanel = newJPanel();47 JPanel jpDefault = newJPanel();48 JPanel eastPanel = newJPanel();49 JPanel southPanel = newJPanel();50 JPanel jp1,jp2,jp3,jp4,jp5,jp6,jp7;51

52 //所用菜单组件

53 JMenuBar mBar = newJMenuBar();54 JMenu myOrder = new JMenu("我的订单");55 JMenuItem oQuery = new JMenuItem("订单查询");56 JMenuItem oAdd = new JMenuItem("添加订单");57 JMenuItem oDel = new JMenuItem("取消订单");58 JMenu uInfo = new JMenu("我的信息");59 JMenuItem uQuery = new JMenuItem("查询");60 JMenuItem uModify = new JMenuItem("修改");61 JMenu hInfo = new JMenu("酒店信息");62 JMenuItem hQuery = new JMenuItem("查询");63 JMenu option = new JMenu("选择");64 JMenuItem help = new JMenuItem("帮助");65 JMenuItem back = new JMenuItem("注销");66

67 public static voidmain(String[] args) {68 new UserMain("KK");69 }70

71 UserMain(String name) {72 this.name =name;73

74 this.setTitle(name +"用户,欢迎您!");75 this.setLayout(newBorderLayout());76 this.setResizable(false);77

78 //放置背景图片

79 ImageIcon background = new ImageIcon(LoginFrame.class.getClassLoader().getResource("images/Umain.jpg"));80 JLabel bkLabel = newJLabel(background);81 bkLabel.setBounds(0, 0,background.getIconWidth(), background.getIconHeight());82 this.setSize(background.getIconWidth(), background.getIconHeight());83 this.getLayeredPane().add(bkLabel,newInteger(Integer.MIN_VALUE));84 JPanel ctPanel = (JPanel)this.getContentPane();85 ctPanel.setOpaque(false);86

87 //设置面板透明度,布局,和菜单组合

88 main.setOpaque(false);89 jpDefault.setOpaque(false);90 barPanel.setOpaque(false);91 userPanel.setOpaque(false);92 eastPanel.setOpaque(false);93 southPanel.setOpaque(false);94 main.setLayout(newCardLayout());95 barPanel.setLayout(newBorderLayout());96 //main.setBackground(new Color(255, 250 ,250));

97 uInfo.add(uQuery);98 uInfo.add(uModify);99 hInfo.add(hQuery);100 myOrder.add(oQuery);101 myOrder.add(oAdd);102 myOrder.add(oDel);103 option.add(help);104 option.add(back);105 mBar.add(uInfo);106 mBar.add(hInfo);107 mBar.add(myOrder);108 mBar.add(option);109 mBar.setOpaque(false);110 barPanel.add(mBar,BorderLayout.EAST);111

112 //设置标签样式,面板大小等

113 uInfo.setForeground(Color.WHITE);114 hInfo.setForeground(Color.WHITE);115 myOrder.setForeground(Color.WHITE);116 option.setForeground(Color.WHITE);117 myOrder.setFont(new java.awt.Font("微软楷体", Font.BOLD, 18));118 uInfo.setFont(new java.awt.Font("微软楷体", Font.BOLD, 18));119 hInfo.setFont(new java.awt.Font("微软楷体", Font.BOLD, 18));120 option.setFont(new java.awt.Font("微软楷体", Font.BOLD, 18));121 myOrder.setPreferredSize(new Dimension(120,20));122 uInfo.setPreferredSize(new Dimension(150,20));123 hInfo.setPreferredSize(new Dimension(150,20));124 option.setPreferredSize(new Dimension(80,20));125 barPanel.setPreferredSize(new Dimension(940,158));126 userPanel.setPreferredSize(new Dimension(380,400));127 eastPanel.setPreferredSize(new Dimension(60,400));128 southPanel.setPreferredSize(new Dimension(940,50));129 mBar.setBorder(BorderFactory.createEmptyBorder());130

131

132 main.add(jpDefault);133 this.add(barPanel,BorderLayout.NORTH);134 this.add(userPanel,BorderLayout.WEST);135 this.add(main,BorderLayout.CENTER);136 this.add(eastPanel,BorderLayout.EAST);137 this.add(southPanel,BorderLayout.SOUTH);138 this.pack();139

140 oQuery.addActionListener(this);141 oAdd.addActionListener(this);142 oDel.addActionListener(this);143 uQuery.addActionListener(this);144 uModify.addActionListener(this);145 hQuery.addActionListener(this);146 help.addActionListener(this);147 back.addActionListener(this);148 this.addWindowListener(newWindowAdapter() {149 public voidwindowClosing(WindowEvent arg0) {150 System.exit(0);151 }152 });153 setVisible(true);154 }155

156 public voidactionPerformed(ActionEvent e) {157 cl =(CardLayout)main.getLayout();158 cl.setHgap(0); cl.setVgap(0);159

160 if(e.getSource() ==uQuery){161 jp1 = (JPanel)new UserCard("用户查询",this);162 main.add("用户查询",jp1);163 cl.show(main,"用户查询");164 }else if(e.getSource() ==uModify){165 jp2 = (JPanel)new UserCard("用户修改",this);166 main.add("用户修改",jp2);167 cl.show(main,"用户修改");168 }else if(e.getSource() ==hQuery) {169 jp3 = (JPanel)new UserCard("酒店查询",this);170 main.add("酒店查询",jp3);171 cl.show(main,"酒店查询");172 }else if(e.getSource() ==oQuery) {173 jp4 = (JPanel)new UserCard("订单查询",this);174 main.add("订单查询",jp4);175 cl.show(main, "订单查询");176 }else if(e.getSource() ==oAdd) {177 jp5 = (JPanel)new UserCard("订单添加",this);178 main.add("订单添加",jp5);179 cl.show(main, "订单添加");180 }else if(e.getSource() ==oDel) {181 jp6 = (JPanel)new UserCard("订单删除",this);182 main.add("订单删除",jp6);183 cl.show(main, "订单删除");184 }else if (e.getSource() ==help) {185 System.out.println("hhhh");186 jp7 = (JPanel)new UserCard("帮助",this);187 main.add("帮助",jp7);188 cl.show(main,"帮助");189 }else if (e.getSource() ==back) {190 this.setVisible(false);191 newLoginFrame();192 }193

194 }195

196 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值