UI层的设计(卡片布局)
1为主面板添加背景图片:
JPanel mainPanel = new JPanel(){...};类似匿名类,然后大括号里面重写JComponent的paintComponent(Graphics g)方法,调用 g.drawImage方法画背景图片
2添加登录界面LoginPanel和注册界面RegesterPanel:
这里使用一个管理面板的容器工具类ContainerUtils,将面板名字对应的Panel放在map里面:
public class ContainerUtils { private static Map<String , Object> map = new HashMap<>(); public static void regester(String key , Object value) { map.put(key, value); } public static Object getContainer(String key) { return map.get(key); } }
再在主面板中通过这个面板工具类来管理,通过鼠标点击事件来切换界面:
JButton registerBtn = new JButton("注册"); registerBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //获取主面板 JPanel mainPanel = (JPanel) ContainerUtils.getContainer("mainPanel"); //获取主面板的布局 CardLayout card = (CardLayout) mainPanel.getLayout(); card.show(mainPanel, "regesterPanel"); } });