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.
- A tela exibe todos os objetos.
- A tela possui um painel superior para o usuário informar algum parâmetro para pesquisa.
- 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();
}