protected JPanel buildFilterPanel() {
		JPanel ans = new JPanel();

		GridBagLayout layout = new GridBagLayout();
		GridBagConstraints c = new GridBagConstraints();
		ans.setLayout(layout);

		// 
		filter = new JTextField("ѧŻ", 20);
		JButton filterByNo = new JButton("ѧŲѯ");
		JButton filterByName = new JButton("ѯ");
		JButton showAll = new JButton("ʾȫѧ");

		// ¼
		filterByName.setActionCommand("filterByName");
		filterByNo.setActionCommand("filterByNo");
		showAll.setActionCommand("showAll");
		filterByName.addActionListener(this);
		filterByNo.addActionListener(this);
		showAll.addActionListener(this);

		// 
		c.fill = GridBagConstraints.HORIZONTAL;
		c.weightx = 1.0;
		c.gridheight = GridBagConstraints.REMAINDER;
		layout.setConstraints(filter, c);
		ans.add(filter);

		c.weightx = 0.0;
		c.gridx = GridBagConstraints.RELATIVE;
		layout.setConstraints(filterByName, c);
		ans.add(filterByName);

		layout.setConstraints(filterByNo, c);
		ans.add(filterByNo);

		c.gridwidth = GridBagConstraints.REMAINDER;
		layout.setConstraints(showAll, c);
		ans.add(showAll);

		return ans;
	}