public MainFrame(User user) {
		super(JGSystem.NAME);
		this.user = user;
		this.DEFAULT_MAIN_FRAMESIZE = new Dimension(1024, 768);
		this.PREFERRED_PANEL_SIZE = new Dimension(1024-5-25, 768-25-25);
		this.setSize(this.DEFAULT_MAIN_FRAMESIZE);
		this.setMaximumSize(this.DEFAULT_MAIN_FRAMESIZE);
		this.setLayout(new BorderLayout());
		
				JPanel jpnlMainPanel = new JPanel();
				jpnlMainPanel.setPreferredSize(this.PREFERRED_PANEL_SIZE);
				jpnlMainPanel.setLayout(new BorderLayout());
					JPanelMainFrameHeader jpnlHeader = new JPanelMainFrameHeader();
					jpnlHeader.setPreferredSize(new Dimension(this.DEFAULT_MAIN_FRAMESIZE.width, 110));
				jpnlMainPanel.add(jpnlHeader, BorderLayout.NORTH);
				
					JPanel jpnlWest = new JPanel();
					jpnlWest.setLayout(new BoxLayout(jpnlWest, BoxLayout.Y_AXIS));
						UserPanel userPanel = new UserPanel(user);
						userPanel.setPreferredSize(new Dimension(200, 110));
					jpnlWest.add(userPanel);
					jpnlWest.add(Box.createVerticalStrut(30));
						ChatPanel chatPanel = new ChatPanel(user);
						chatPanel.setPreferredSize(new Dimension(200, 500));
					jpnlWest.add(chatPanel);
				jpnlMainPanel.add(jpnlWest, BorderLayout.WEST);
					JPanel jpnlCenter = new JPanel();
					jpnlCenter.setLayout(new BorderLayout());
						ContentPanel contentPanel = new ContentPanel();
						contentPanel.setPreferredSize(new Dimension(770, 485));
					jpnlCenter.add(contentPanel, BorderLayout.CENTER);
						MenuPanel menuPanel = new MenuPanel(contentPanel, user);
						menuPanel.setPreferredSize(new Dimension(this.DEFAULT_MAIN_FRAMESIZE.width - 200, 110));
					jpnlCenter.add(menuPanel, BorderLayout.NORTH);
				jpnlMainPanel.add(jpnlCenter, BorderLayout.CENTER);
				
			JScrollPane jscrllMainScrollPane = new JScrollPane(jpnlMainPanel);
				
		this.add(jscrllMainScrollPane, BorderLayout.CENTER);
		this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
		this.addWindowListener(new WLMainFrame());
//		this.addMouseListener(new MLMainFrame());
//		this.addComponentListener(new CLMainFrame());
		this.setLocationRelativeTo(null);
		this.setVisible(true);
		
		if(!checkNickname(user)){
			requestNickname(user);
			userPanel.updatePanel(user);
			revalidate();
		}
	}