public ChatClientMain() {
		addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent arg0) {
				close();
			}
		});
		setTitle("Java Chat v1.0");
		setBounds(100, 100, 1055, 663);
		
		JMenuBar menuBar = new JMenuBar();
		setJMenuBar(menuBar);
		
		JMenu mnFile = new JMenu("File");
		menuBar.add(mnFile);
		
		JMenuItem mntmServerSet = new JMenuItem("Server Set");
		mntmServerSet.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				EventQueue.invokeLater(new Runnable() {
					public void run() {
						try {
							ServerSet frame = new ServerSet();
							frame.setVisible(true);
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
			}
		});
		mnFile.add(mntmServerSet);
		
		JMenuItem mntmClose = new JMenuItem("Close");
		mntmClose.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				close();
			}
		});
		mnFile.add(mntmClose);
		
		JMenu mnChat = new JMenu("Chat");
		menuBar.add(mnChat);
		
		JMenuItem mntmCreateroom = new JMenuItem("CreateRoom");
		mntmCreateroom.setActionCommand("CreateRoom");
		mntmCreateroom.addActionListener(this);
		mnChat.add(mntmCreateroom);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(new FormLayout(new ColumnSpec[] {
				FormFactory.RELATED_GAP_COLSPEC,
				ColumnSpec.decode("max(373dlu;default):grow"),
				FormFactory.RELATED_GAP_COLSPEC,
				ColumnSpec.decode("default:grow"),},
			new RowSpec[] {
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				RowSpec.decode("max(318dlu;default):grow"),
				FormFactory.RELATED_GAP_ROWSPEC,
				RowSpec.decode("max(34dlu;default):grow"),}));
		
		JLabel lblRoomList = new JLabel("Room List");
		contentPane.add(lblRoomList, "2, 2");
		
		JLabel lblUserList = new JLabel("User List");
		contentPane.add(lblUserList, "4, 2");
		
		JScrollPane scrollPane = new JScrollPane();
		contentPane.add(scrollPane, "2, 4, fill, fill");
		
		JRoomTable = new JTable();
		scrollPane.setViewportView(JRoomTable);
		JRoomTable.setModel(new DefaultTableModel(
			new Object[][] {
				{null, null, null},
			},
			new String[] {
				"RoomID", "Room Name", "UserCount"
			}
		));
		JRoomTable.getColumnModel().getColumn(0).setPreferredWidth(70);
		JRoomTable.getColumnModel().getColumn(1).setPreferredWidth(341);
		JRoomTable.getColumnModel().getColumn(2).setPreferredWidth(89);
		
		JScrollPane scrollPane_1 = new JScrollPane();
		contentPane.add(scrollPane_1, "4, 4, fill, fill");
		
		JUserList = new JTable();
		JUserList.setModel(new DefaultTableModel(
			new Object[][] {
				{null, null},
			},
			new String[] {
				"UserID", "UserName"
			}
		));
		scrollPane_1.setViewportView(JUserList);
		
		JPanel panel = new JPanel();
		contentPane.add(panel, "2, 6, left, fill");
		panel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
		
		JButton btnEnter = new JButton("Enter");
		btnEnter.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				// JTable  о äù濡 .
				enterRoom();
			}
		});
		panel.add(btnEnter);
		
		JButton btnRefresh = new JButton("Refresh");
		btnRefresh.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				t.send("[USER]");
				t.send("[ROOM]");
			}
		});
		panel.add(btnRefresh);
		
		createSocket();
	}