Observação: a consulta funciona, mas quando consultamos várias vezes, o resultado anterior não é apagado. Tem que modificar e ficaria assim:
FmExcluirCadastro.java
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class FmExcluirCadastro implements ActionListener {
private JFrame janela = new JFrame("Excluir Cadastro");
private JPanel pnBusca = new JPanel();
private JPanel pnResult = new JPanel();
private JLabel lbBuscar = new JLabel("Buscar: ");
private JTextField tfBusca = new JTextField(5); // modificado!
// ao invés de colocar espaços vazios, use isso para definir o tamanho
private JButton btBuscar = new JButton("Ir");
private JButton btExcluir = new JButton("Excluir");
private JList ltClientes = new JList();
private DefaultListModel lmClientes = new DefaultListModel();
public FmExcluirCadastro() {
this.janela.setVisible(true);
this.janela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.janela.setResizable(false);
this.janela.setLayout(new GridLayout(1, 2));
// this.tfBusca.setText("");
// modificado!
// vide anotação acima
this.btBuscar.addActionListener(this);
this.pnBusca.add(this.lbBuscar);
this.pnBusca.add(this.tfBusca);
this.pnBusca.add(this.btBuscar);
this.pnResult.setLayout(new GridLayout(2, 2));
this.pnResult.add(this.ltClientes);
this.pnResult.add(this.btExcluir);
this.janela.add(this.pnBusca);
this.janela.add(this.pnResult);
// this.lmClientes.add(0, "Clientes:");
// modificado!!
this.ltClientes.setModel(this.lmClientes);
this.janela.setSize(200, 200);
// this.janela.pack();
// modificado!
// mudei o tamanho para aparecer a JList inteira
}
public static void main(String[] args) {
new FmExcluirCadastro();
}
@Override
public void actionPerformed(ActionEvent evt) {
if (evt.getSource() == this.btBuscar) {
try {
ClienteDAO dao = new ClienteDAO();
ArrayList<Cliente> clientes = new ArrayList<Cliente>();
clientes = dao.buscar(this.tfBusca.getText());
this.lmClientes.removeAllElements();
this.lmClientes.add(0, "Clientes:"); // modificado!!!
for (Cliente cliente : clientes) {
this.lmClientes.add(1, cliente.getNome()); //modificado!
// adicionar a partir do 1 para o título ficar na posição zero
}
this.ltClientes.setModel(this.lmClientes);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}