Ajuda em montagem de tela de pesquisa padrão

Tenho a classe TelaPesquisa que cria uma tela para pesquisa em JFrame ou JDialog.
Essa é minha primeira aplicação em java. Em sistemas que fiz em delphi, normalmente eu tinha 3 variações de tela de pesquisa.

  1. A tela exibe todos os objetos.
  2. A tela possui um painel superior para o usuário informar algum parâmetro para pesquisa.
  3. A tela possui uma aba de pesquisa, para permitir vários parâmetros de pesquisa. Nesse caso, fica uma aba de um JTabbedPane para os parâmetros de pesquisa e outra aba para o resultado.

Como eu poderia incluir a funcionalidade 2 e 3 na minha classe TelaPesquisa? (abaixo a classe TelaPesquisa e um método que usa a classe).

[code]public class TelaPesquisa {

private JFrame painelPesquisa;

private AbstractTableModel tableModel;

public void setTableModel(AbstractTableModel tableModel) {
	this.tableModel = tableModel;
}

public TelaPesquisa() throws HeadlessException {

}
private JPanel ConstruirPainelPesquisa(){
	JPanel painel = new JPanel();
	painel.setLayout(new BorderLayout());
	painel.add(construirPainelInferior(),BorderLayout.SOUTH);
	painel.add(construirPainelCentral(),BorderLayout.CENTER);	
	return painel;
}

private JPanel construirPainelInferior() {
	JButton btInserir, btExcluir, btVisualizar, btSalvar, btSelecionar;
	JPanel painel = new JPanel();
	btInserir = new JButton("Inserir");
	btExcluir = new JButton("Excluir");
	btVisualizar = new JButton("Visualizar");
	btSelecionar = new JButton("Selecionar");
	painel.add(btInserir);
	painel.add(btExcluir);
	painel.add(btVisualizar);
	return painel;
}

private JComponent construirPainelCentral() {
    JTable tabela = new JTable(this.tableModel);
    tabela.setPreferredSize(new Dimension(600,480));
	JScrollPane scrollpane = new JScrollPane(tabela);
    return scrollpane;
}

public JFrame construirPesquisaMenu() {
	JFrame frame = new JFrame();
	frame.setContentPane(ConstruirPainelPesquisa());
	frame.pack();
	frame.setLocationRelativeTo(null);
	frame.setVisible(true);    	
	return frame;
}
public JDialog construirPesquisaObter() {
	JDialog dialogo = new JDialog();
	dialogo.setContentPane(ConstruirPainelPesquisa());
	dialogo.pack();
	dialogo.setLocationRelativeTo(null);
	dialogo.setVisible(true);
	return dialogo;
}

}[/code]

public static void mostrarJanelaPesquisa(){ TelaPesquisa form = new TelaPesquisa(); TableModelOrcamento modeloTabela = new TableModelOrcamento(); modeloTabela.setOrcamentos(GerenciadorOrcamento.orcamentos()); form.setTableModel(modeloTabela); form.construirPesquisaMenu(); }

2. A tela possui um painel superior para o usuário informar algum parâmetro para pesquisa.

Você pode usar o JToolBar para criar uma barra até móvel que poderá conter outros campos.

3. A tela possui uma aba de pesquisa, para permitir vários parâmetros de pesquisa. Nesse caso, fica uma aba de um JTabbedPane para os parâmetros de pesquisa e outra aba para o resultado.

Utilize a componente JTabbedPane!