Está dando toda essa exceção, e ai ele aponta para a linha 78 da classe cadastrocontrol.
Procurei e pode ser uma variavel que não dei retorno, mas não consigo identificar qual, e o porquê dele estar fazendo referencia a linha 78
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at jv.CadastroControl.getRowCount(CadastroControl.java:78)
at javax.swing.JTable.getRowCount(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.createTableSize(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at javax.swing.ScrollPaneLayout.layoutContainer(Unknown Source)
at java.awt.Container.layout(Unknown Source)
at java.awt.Container.doLayout(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validate(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
package jv;
import java.util.List;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;
import bd.ConexaoDAO;
public class CadastroControl implements TableModel{
private List tikara = new ArrayList<>();
public Class<?> getColumnClass(int col) {
switch (col) {
case 0 : return String.class;
case 1 : return String.class;
}
return String.class;
}
@Override
public void addTableModelListener(TableModelListener l) {
// TODO Auto-generated method stub
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return 2;
}
@Override
public String getColumnName(int col) {
switch (col) {
case 0 : return "Nome";
case 1 : return "CPF";
}
return "";
}
@Override
public Object getValueAt(int row, int col) {
Tikara a = tikara.get(row);
switch (col) {
case 0 : return a.getNome();
case 1 : return a.getCPF();
}
return "";
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
return false;
}
@Override
public void removeTableModelListener(TableModelListener l) {
// TODO Auto-generated method stub
}
@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return tikara.size();
}
public void adicionar(Tikara a) {
ConexaoDAO conDAO = new ConexaoDAO();
tikara.add( a );
conDAO.adicionar(a);
System.out.println("Cliente cadastrado, a lista tem " +
tikara.size() + " Cadastrados ");
}
public List<Tikara> Pesquisa(String Nome) throws SQLException {
ConexaoDAO conDAO = new ConexaoDAO();
List<Tikara> resultados = conDAO.Pesquisa(Nome);
tikara = resultados;
return resultados;
}
}
package jv;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableModel;
public class Cadastroboundary implements ActionListener {
private JFrame janela;
private JTextField txtNome = new JTextField(30);
private JTextField txtcpf = new JTextField(11);
private JButton btnEmitirnota = new JButton(“Emitir nota fiscal”);
private JButton btnFinalizar = new JButton(“Finalizar”);
private JButton btnAdicionar = new JButton(“Adicionar”);
private JButton btnPesquisar = new JButton(“Pesquisar”);
private CadastroControl control = new CadastroControl();
private JTable table = new JTable(control);
private List<Tikara> tikara = new ArrayList<>();
public Cadastroboundary() {
janela = new JFrame("Cadastro Cliente");
JPanel panCampos = new JPanel(new GridLayout(7, 2));
JPanel panPrincipal = new JPanel(new BorderLayout());
JScrollPane panTable = new JScrollPane();
panCampos.add(new JLabel("Nome:"));
panCampos.add(txtNome);
panCampos.add(new JLabel("CPF:"));
panCampos.add(txtcpf);
panCampos.add(btnEmitirnota);
panCampos.add(btnFinalizar);
panCampos.add(btnAdicionar);
panCampos.add(btnPesquisar);
btnEmitirnota.addActionListener(this);
btnFinalizar.addActionListener(this);
btnAdicionar.addActionListener(this);
btnPesquisar.addActionListener(this);
panTable.getViewport().add(table);
panPrincipal.add(panCampos, BorderLayout.NORTH);
panPrincipal.add(panTable, BorderLayout.CENTER);
janela.setContentPane(panPrincipal);
janela.setSize(600, 300);
janela.setVisible(true);
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if ("Finalizar".equals(cmd)) {
new Menu();
} else if ("Adicionar".equals(cmd)) {
Tikara tk = new Tikara();
tk.setNome(txtNome.getText());
tk.setCPF(txtcpf.getText());
tikara.add(tk);
System.out.printf("Lista tem %d elementos\n", tikara.size());
}
else if ("Pesquisar".equals(cmd)) {
try {
System.out.println("Pesquisou");
control.Pesquisa(txtNome.getText());
table.invalidate();
table.revalidate();
table.repaint();
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(null, e1.getMessage());
}
}
}
public int getId() {
// TODO Auto-generated method stub
return 0;
}
public String getNome() {
// TODO Auto-generated method stub
return null;
}
public String Cpf() {
// TODO Auto-generated method stub
return null;
}
public void setCpf(String string) {
// TODO Auto-generated method stub
}
public void setNome(String string) {
// TODO Auto-generated method stub
}
public void setId(int int1) {
// TODO Auto-generated method stub
}
}