Pessoal
Estou tentando entender o q está acontecendo com a minha JTable e não estou conseguindo entender porque:
- Fiz uma lista de todos os registros do banco postgres. Ok tenho 58 registros
- Fiz uma lista da geração da TableModel . Ok tenho 58 registros.
- Fiz uma lista de saida da geração dop Dao. Ok tenho 58 registros.
- Na aplicação quando mostro o Relatório de Preços. Ok tenho 58 registros.
Quando mostro a aplicação na JTable só aparece 27 registros. Não sei se é problema do ScrollPane só vai até os 27 registros. O que será que está acontecendo?
Vou postar meu codigo da aplicação de preço abaixo:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package fontes.Cadastros;
import TableModels.PrecoTableModel;
import TableModels.ProteseTableModel;
import dao.Dao;
import dao.FichasDao;
import dao.PrecoDao;
import dao.ProteseDao;
import dao.TipodePrecoDao;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.io.InputStream;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import modelo.Fichas;
import modelo.Preco;
import modelo.Protese;
import modelo.TipodePreco;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;
import util.Formato;
/**
*
* @author Octacilio
*/
public class jIFPrecos extends javax.swing.JInternalFrame {
/**
* Creates new form jIFPrecos
*/
public static JDialogProteseEspecial jdialogproteseespecial;
public static String proteseespecialdialog = "";
private String msg;
private BigDecimal valor;
private boolean check_OK = false;
private boolean duplicidade = false;
private String precos;
private JScrollPane cScroll;
private boolean incluir = false;
private String tipoPreco;
private String protese;
Formato formato = new Formato();
Preco p = new Preco();
TipodePreco g = new TipodePreco();
Protese e = new Protese();
Fichas fichas = new Fichas();
private ArrayList<Fichas> listaFichas = new ArrayList<>();
private ArrayList<TipodePreco> listaTipodePreco= new ArrayList<>();
private ArrayList<Protese> listaProtese= new ArrayList<Protese>();
private ArrayList<Preco> listaPreco = new ArrayList<Preco>();
private boolean achouFilhos;
private JasperReport jasperReport;
private PrecoTableModel model;
// DecimalFormat format = new DecimalFormat();
// format.setCurrency(Currency.getInstance(new Locale("pt", "BR")));
public jIFPrecos() {
setResizable(false); //configura se o frame se será redimensionável uo não
initComponents();
java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
Dimension scrSize = toolkit.getScreenSize();
// System.out.println("size=" + scrSize);
// setSize(scrSize.width,scrSize.height); //configura tamanho do frame
setSize(1000,670); //configura tamanho do frame
check_OK=false;
// Colocando enter para pular de campo
// HashSet conj = new HashSet(this.getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));
// conj.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_ENTER, 0));
// this.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, conj);
limpaCampos();
cmbTipodePreco.requestFocus();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel3 = new javax.swing.JPanel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
txtIdProtese = new javax.swing.JTextField();
txtIdTipodePreco = new javax.swing.JTextField();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
txtId = new javax.swing.JTextField();
jLabel12 = new javax.swing.JLabel();
txtPreco = new javax.swing.JTextField();
jPanel5 = new javax.swing.JPanel();
jbIncluir = new javax.swing.JButton();
jbAlterar = new javax.swing.JButton();
jbExcluir = new javax.swing.JButton();
jbPesquisar = new javax.swing.JButton();
jbLimpar = new javax.swing.JButton();
jbFechar = new javax.swing.JButton();
jbImprimir = new javax.swing.JButton();
jbFiltrarporTipo = new javax.swing.JButton();
jBProteseEspecial = new javax.swing.JButton();
cmbProtese = new componentes.UJComboBox();
cmbTipodePreco = new componentes.UJComboBox();
jScrollPane1 = new javax.swing.JScrollPane();
jTPreco = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
setTitle("Cadastro de Preço");
setPreferredSize(new java.awt.Dimension(925, 729));
jPanel3.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
jPanel3.setPreferredSize(new java.awt.Dimension(915, 222));
jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel7.setText("Id.");
jPanel3.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 50, 40, -1));
jLabel8.setText("Protese");
jPanel3.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 50, 115, -1));
txtIdProtese.setEditable(false);
txtIdProtese.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
txtIdProtese.setEnabled(false);
jPanel3.add(txtIdProtese, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 74, 45, -1));
txtIdTipodePreco.setEditable(false);
txtIdTipodePreco.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
txtIdTipodePreco.setEnabled(false);
txtIdTipodePreco.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
txtIdTipodePrecoKeyPressed(evt);
}
});
jPanel3.add(txtIdTipodePreco, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 22, 43, -1));
jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel9.setText("Id.");
jPanel3.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 2, 40, -1));
jLabel10.setText("Tipo de Tabela");
jPanel3.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(71, 2, 173, -1));
jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel11.setText("Id.");
jPanel3.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 100, 40, -1));
txtId.setEditable(false);
txtId.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
txtId.setEnabled(false);
jPanel3.add(txtId, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 122, 45, -1));
jLabel12.setText("Preço");
jPanel3.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(71, 102, 115, -1));
txtPreco.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
txtPreco.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseExited(java.awt.event.MouseEvent evt) {
txtPrecoMouseExited(evt);
}
});
txtPreco.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent evt) {
txtPrecoFocusGained(evt);
}
});
jPanel3.add(txtPreco, new org.netbeans.lib.awtextra.AbsoluteConstraints(71, 122, 177, -1));
jPanel5.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
jbIncluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ProjetoSAFP/imagens/novo.jpg"))); // NOI18N
jbIncluir.setText("Incluir");
jbIncluir.setToolTipText("Incluir novo Preço");
jbIncluir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbIncluirActionPerformed(evt);
}
});
jbIncluir.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jbIncluirFocusLost(evt);
}
});
jbAlterar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ProjetoSAFP/imagens/cadastrar.jpg"))); // NOI18N
jbAlterar.setText("Alterar");
jbAlterar.setToolTipText("Alterar Preço");
jbAlterar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbAlterarActionPerformed(evt);
}
});
jbExcluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ProjetoSAFP/imagens/deleteFile.jpg"))); // NOI18N
jbExcluir.setText("Excluir");
jbExcluir.setToolTipText("Excluir Preço");
jbExcluir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbExcluirActionPerformed(evt);
}
});
jbPesquisar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ProjetoSAFP/imagens/pesquisar.jpg"))); // NOI18N
jbPesquisar.setToolTipText("Preencher dados de Preço");
jbPesquisar.setIconTextGap(2);
jbPesquisar.setLabel("Dados");
jbPesquisar.setMaximumSize(new java.awt.Dimension(75, 23));
jbPesquisar.setMinimumSize(new java.awt.Dimension(65, 23));
jbPesquisar.setName("Pesquisar"); // NOI18N
jbPesquisar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbPesquisarActionPerformed(evt);
}
});
jbLimpar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ProjetoSAFP/imagens/remove.jpg"))); // NOI18N
jbLimpar.setText("Limpar");
jbLimpar.setToolTipText("Limpar dados de Preço");
jbLimpar.setIconTextGap(2);
jbLimpar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbLimparActionPerformed(evt);
}
});
jbFechar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ProjetoSAFP/imagens/fechar_btn.jpg"))); // NOI18N
jbFechar.setText("Fechar");
jbFechar.setToolTipText("Sair");
jbFechar.setIconTextGap(2);
jbFechar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbFecharActionPerformed(evt);
}
});
jbImprimir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ProjetoSAFP/imagens/imprimir_128x128~1.png"))); // NOI18N
jbImprimir.setText("Imprimir");
jbImprimir.setToolTipText("Imprimir Relatório");
jbImprimir.setIconTextGap(1);
jbImprimir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbImprimirActionPerformed(evt);
}
});
jbFiltrarporTipo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ProjetoSAFP/imagens/filter.jpg"))); // NOI18N
jbFiltrarporTipo.setText("Filtrar por Tipo de Preço");
jbFiltrarporTipo.setToolTipText("Escolher Item de preço e depois clicar-me.");
jbFiltrarporTipo.setIconTextGap(2);
jbFiltrarporTipo.setMaximumSize(new java.awt.Dimension(75, 23));
jbFiltrarporTipo.setMinimumSize(new java.awt.Dimension(65, 23));
jbFiltrarporTipo.setName("Pesquisar"); // NOI18N
jbFiltrarporTipo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbFiltrarporTipoActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jbIncluir)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jbAlterar, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbExcluir)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jbPesquisar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbLimpar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbFechar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jbImprimir)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jbFiltrarporTipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(51, Short.MAX_VALUE))
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jbExcluir, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jbPesquisar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jbLimpar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jbFechar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jbImprimir, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jbFiltrarporTipo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jbAlterar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jbIncluir))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel3.add(jPanel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 153, -1, -1));
jBProteseEspecial.setText("Prótese Especial");
jBProteseEspecial.setToolTipText("Fazer uma copia de todas as próteses do cadastro de preço padrão.");
jBProteseEspecial.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBProteseEspecialActionPerformed(evt);
}
});
jPanel3.add(jBProteseEspecial, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 80, 160, 30));
cmbProtese.setEditable(true);
cmbProtese.setAutocompletar(true);
cmbProtese.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cmbProteseActionPerformed(evt);
}
});
jPanel3.add(cmbProtese, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 70, 520, -1));
cmbTipodePreco.setEditable(true);
cmbTipodePreco.setAutocompletar(true);
cmbTipodePreco.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cmbTipodePrecoActionPerformed(evt);
}
});
jPanel3.add(cmbTipodePreco, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 20, 520, -1));
jTPreco.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4", "Tetle 5", "Title 6"
}
) {
boolean[] canEdit = new boolean [] {
false, false, false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
jScrollPane1.setViewportView(jTPreco);
jTPreco.getColumnModel().getColumn(0).setResizable(false);
jTPreco.getColumnModel().getColumn(1).setResizable(false);
jTPreco.getColumnModel().getColumn(2).setResizable(false);
jTPreco.getColumnModel().getColumn(3).setResizable(false);
jTPreco.getColumnModel().getColumn(4).setResizable(false);
jTPreco.getColumnModel().getColumn(5).setResizable(false);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, 899, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1)
.addContainerGap())))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 440, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 238, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
}// </editor-fold>
private void txtIdTipodePrecoKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
}
private void jbIncluirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
incluir = true;
checaCampos();
if (!check_OK) {
return;
}
PrecoDao dao = null;
try {
dao = new PrecoDao();
listaPreco = (ArrayList<Preco>) dao.listAll();
for (Preco pre : listaPreco) {
if (pre instanceof Preco) {
Preco preco = (Preco) pre;
if (txtIdTipodePreco.getText().equals(preco.getIdtipopreco()) && txtIdProtese.getText().equals(preco.getIdprotese())) {
// System.out.println("Registro duplicado!");
msg = "Registro de Preço duplicado!";
mensagemErro(msg);
txtPreco.requestFocus();
return;
}
}
}
} catch (SQLException ex) {
Logger.getLogger(jIFProtese.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException ex) {
Logger.getLogger(jIFProtese.class.getName()).log(Level.SEVERE, null, ex);
}
try {
// HibernateUtil sessaoDao = new HibernateUtil();
checaCampos();
if (!check_OK) {
return;
}
editaCampos();
PrecoDao preco = new PrecoDao();
preco.save(p);
JOptionPane.showMessageDialog(null, "Preço INCLUIDO com sucesso!");
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
limpaCampos();
txtPreco.requestFocus();
}
private void jbIncluirFocusLost(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
}
private void jbAlterarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
incluir = false;
checaCampos();
if (!check_OK) {
return;
}
Dao<Preco> dao = null;
try {
editaCampos();
// p.setId(Integer.parseInt(txtIdProtese.getText()));
dao = new PrecoDao();
dao.update(p);
JOptionPane.showMessageDialog(null, "Preço ALTERADO com sucesso!");
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
limpaCampos();
txtPreco.requestFocus();
}
private void jbExcluirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
incluir = false;
checaCampos();
if (!check_OK) {return;}
achouFilhos = false;
verificaPaternidade("preco", Integer.parseInt(txtId.getText()));
if(!achouFilhos){
Object[] options = {"Sim", "Cancelar"};
int i = JOptionPane.showOptionDialog(null,
"Deseja mesmo excluir o registro?", "Atenção",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
options, null);
if (i == JOptionPane.YES_OPTION) {
Dao<Preco> dao = null;
try {
editaCampos();
dao = new PrecoDao();
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
try {
p.setId(Integer.parseInt(txtId.getText()));
dao.delete(p);
JOptionPane.showMessageDialog(null, "Preço EXCLUIDO com sucesso!");
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException ex) {
Logger.getLogger(jIFDentista.class.getName()).log(Level.SEVERE, null, ex);
}
}else{
JOptionPane.showMessageDialog(null, "Exclusão Cancelada");
}
}else{
JOptionPane.showMessageDialog(null, "Existem Fichas para Preço. Exclusão Cancelada");
}
limpaCampos();
txtPreco.requestFocus();
}
private void jbPesquisarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
limpaCampos();
preencheTbm();
}
private void jbLimparActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
limpaCampos();
}
private void jbFecharActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.dispose();
}
private void jbImprimirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
PrecoDao dao = null;
try {
dao = new PrecoDao();
} catch (SQLException e) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, e);
}
try {
listaPreco = (ArrayList<Preco>) dao.listAll();
java.sql.Connection con = jdbc.ConnectionFactory.getConnection(
"jdbc:postgresql://localhost:5432/Labo",
"postgres",
"admin9090");
HashMap parametros = new HashMap();
try {
InputStream jasperFile = Thread.currentThread().getClass().getResourceAsStream("/fontes/Relatorios/rptPreco.jasper");
jasperReport = (JasperReport) JRLoader.loadObject( jasperFile );
JasperPrint jp = JasperFillManager.fillReport(jasperReport, parametros, con);
// JasperExportManager.exportReportToPdfFile(jp, "Precopornome.pdf");
JasperViewer jrv = new JasperViewer(jp, false);
jrv.setVisible(true);
} catch (JRException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException e) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, e);
}
}
private void jbFiltrarporTipoActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// System.out.println("Botão TipoPreço=" + tipoPreco);
PrecoDao dao = null ;
try {
dao = new PrecoDao();
PrecoTableModel minha = new PrecoTableModel(dao.findbyfiltro(tipoPreco,"",""));
jTPreco.setModel(minha);
jTPreco.setPreferredSize(new java.awt.Dimension(800, 434));
defineRenderers();
// int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;
// int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
// JScrollPane scroller = new JScrollPane();
// jScrollPane1.setViewportView(scroller);
int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
JScrollPane scroller = new JScrollPane();
jScrollPane1.add(scroller);
jScrollPane1.setViewportView(jTPreco);
} catch (SQLException ex) {
Logger.getLogger(jIFProtese.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException ex) {
Logger.getLogger(jIFProtese.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void txtPrecoFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
txtPreco.setText("");
}
private void txtPrecoMouseExited(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
}
private void jBProteseEspecialActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
MostrarJDialogProteseEspecial();
// if((!proteseespecialdialog.equals(null)) && (!proteseespecialdialog.equals(""))) {
preencheCmbProtese();
preencheCmbTipodePreco();
jTPreco.setEnabled(true);
preencheTbm();
// cmbPaciente.setSelectedItem(pacientedialog.toUpperCase());
// }
}
private void cmbProteseActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
/**
* para retornar o objeto utilise o método getSelectedObject
* para retornar o nome utilize o método getSelectedItem
*/
// Object protese = (Object)getuJComboBox1();
// uJTextField1.setText(String.valueOf(getuJComboBox1().getId()));
// System.out.println("passei na nova combo="+String.valueOf(getuJComboBox1().getId()));
// return (Protese) uJComboBox1.getSelectedObject();
// return (Protese) uJComboBox1.getSelectedItem();
String cmb = (String)cmbProtese.getSelectedItem();
cmbProtese.setVisible(true);
cmbProtese.setSelectedItem(cmb);
protese = (String)cmbProtese.getSelectedItem();
ProteseDao dao = null;
try {
dao = new ProteseDao();
} catch (SQLException e) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, e);
}
try {
listaProtese = (ArrayList<Protese>) dao.findbyname(protese);
for (Protese prot : listaProtese) {
if(prot instanceof Protese){
//aqui é feito um cast
Protese pro = (Protese)prot;
//faz verificação se for o caso.
if (pro.getNome().equals(protese)) {
String txtidpro = (String.valueOf(pro.getId()));
txtIdProtese.setText(txtidpro);
}
}
}
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException e) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, e);
}
}
private void cmbTipodePrecoActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String cmb = (String)cmbTipodePreco.getSelectedItem();
cmbTipodePreco.setVisible(true);
cmbTipodePreco.setSelectedItem(cmb);
tipoPreco = (String)cmbTipodePreco.getSelectedItem();
TipodePrecoDao dao = null;
try {
dao = new TipodePrecoDao();
} catch (SQLException e) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, e);
}
try {
listaTipodePreco = (ArrayList<TipodePreco>) dao.findbyname(tipoPreco);
for (TipodePreco prc : listaTipodePreco) {
if(prc instanceof TipodePreco){
//aqui é feito um cast
TipodePreco pr = (TipodePreco)prc;
//faz verificação se for o caso.
String txtidtip = (String.valueOf(pr.getId()));
txtIdTipodePreco.setText(txtidtip);
}
}
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException e) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, e);
}
}
private void mensagemErro(String msg){
JOptionPane.showMessageDialog(
null,
msg,
"Aviso! ",
JOptionPane.WARNING_MESSAGE);
}
private void MostrarJDialogProteseEspecial() {
jTPreco.setEnabled(false);
jdialogproteseespecial = new JDialogProteseEspecial(this, true);
// jdialogproteseespecial.s
jdialogproteseespecial.setVisible(true);
}
// Variables declaration - do not modify
private componentes.UJComboBox cmbProtese;
private componentes.UJComboBox cmbTipodePreco;
private javax.swing.JButton jBProteseEspecial;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel5;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTPreco;
private javax.swing.JButton jbAlterar;
private javax.swing.JButton jbExcluir;
private javax.swing.JButton jbFechar;
private javax.swing.JButton jbFiltrarporTipo;
private javax.swing.JButton jbImprimir;
private javax.swing.JButton jbIncluir;
private javax.swing.JButton jbLimpar;
private javax.swing.JButton jbPesquisar;
private javax.swing.JTextField txtId;
private javax.swing.JTextField txtIdProtese;
private javax.swing.JTextField txtIdTipodePreco;
private javax.swing.JTextField txtPreco;
// End of variables declaration
private void limpaCampos()
{
preencheCmbTipodePreco();
preencheCmbProtese();
txtIdProtese.setText ("");
// txtIdTipodePreco.setText ("");
txtPreco.setText ("");
txtId.setText("");
// cmbTipodePreco.setSelectedItem("");
cmbProtese.setSelectedItem("");
cmbTipodePreco.setEnabled(true);
cmbProtese.setEnabled(true);
preencheTbm();
cmbTipodePreco.requestFocus();
}
private JTable getTblPreco() {
if (jTPreco == null) {
jTPreco = new JTable();
jTPreco.setModel(new PrecoTableModel());
}
return jTPreco;
}
private PrecoTableModel getModel() {
if (model == null) {
model = (PrecoTableModel) getTblPreco().getModel();
}
return model;
}
private void preencheTbm(){
PrecoDao dao = null ;
try {
dao = new PrecoDao();
PrecoTableModel minha = new PrecoTableModel(dao.listAll());
jTPreco.setModel(minha);
jTPreco.setPreferredSize(new java.awt.Dimension(800, 434));
defineRenderers();
int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER;
int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
JScrollPane scroller = new JScrollPane();
jScrollPane1.add(scroller);
jScrollPane1.setViewportView(jTPreco);
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void checaCampos(){
check_OK=false;
if (!incluir){
if (txtId.getText().equals("")|| (txtId.getText().equals("0"))){
msg = " Identificador de Preço é Obrigotório!";
mensagemErro(msg);
txtPreco.requestFocus();
return;
}
}
if (txtPreco.getText().equals("")){
msg = " Preco é Obrigotório!";
mensagemErro(msg);
txtPreco.requestFocus();
return;
}
if (txtIdTipodePreco.getText().equals("")|| (txtIdTipodePreco.getText().equals("0"))){
msg = " Tipo de Preço é Obrigotório!";
mensagemErro(msg);
cmbTipodePreco.requestFocus();
return;
}
if (txtIdProtese.getText().equals("")|| (txtIdProtese.getText().equals("0"))){
msg = " Prótese é Obrigotória!";
mensagemErro(msg);
cmbProtese.requestFocus();
return;
}
boolean valorvalido = formato.validarDinheiro(txtPreco.getText());
if (!valorvalido){
msg = " Preço invalido!";
mensagemErro(msg);
txtPreco.requestFocus();
return;
}
if (incluir){
duplicidade = false;
pesquisaDuplicidade(Integer.parseInt(txtIdTipodePreco.getText()), Integer.parseInt(txtIdProtese.getText()));
if (!duplicidade){
check_OK=true;
}
}else{
check_OK=true;
}
}
private void editaCampos(){
String spreco = null;
spreco = (txtPreco.getText());
spreco = spreco.replace(",", ".");
valor = new BigDecimal(spreco);
p.setPreco (valor);
p.setIdprotese (Integer.parseInt(txtIdProtese.getText()));
p.setIdtipopreco (Integer.parseInt(txtIdTipodePreco.getText()));
if (!incluir){
p.setId (Integer.parseInt(txtId.getText()));
}
}
public void setPosicao() {
Dimension d = this.getDesktopPane().getSize();
this.setLocation((d.width - this.getSize().width) / 2,
(d.height - this.getSize().height) / 2);
}
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
// if (key == KeyEvent.VK_ENTER) {
// Toolkit.getDefaultToolkit().beep();
// System.out.println("ENTER pressed");
// }
}
private void preencheCmbTipodePreco(){
//Remove todos os itens do model ComboBox
cmbTipodePreco.clear();
TipodePrecoDao dao = null;
try {
dao = new TipodePrecoDao();
//Aqui usando Generics porque o metodo retorna um ArrayList de object's e preciso acessar os metodos do bean
listaTipodePreco = (ArrayList<TipodePreco>) dao.listAll();
} catch (SQLException ex) {
Logger.getLogger(jIFTipodePreco.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException ex) {
Logger.getLogger(jIFTipodePreco.class.getName()).log(Level.SEVERE, null, ex);
}
//O método addItem adiciona objetos ao model do ComboBox
//Esse getNome do objeto c retorna uma String
for (TipodePreco t : listaTipodePreco) {
// jComboBox1.addItem(t.getId());
cmbTipodePreco.addItem(t.getDescricao(), p);
}
}
private void preencheCmbProtese() {
//Remove todos os itens do model ComboBox
cmbProtese.clear();
Protese e = new Protese();
ProteseDao dao = null;
try {
dao = new ProteseDao();
//Aqui usando Generics porque o metodo retorna um ArrayList de object's e preciso acessar os metodos do bean
listaProtese = (ArrayList<Protese>) dao.listAll();
} catch (SQLException ex) {
Logger.getLogger(jIFProtese.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException ex) {
Logger.getLogger(jIFProtese.class.getName()).log(Level.SEVERE, null, ex);
}
//O método addItem adiciona objetos ao model do ComboBox
//Esse getNome do objeto c retorna uma String
for (Protese t : listaProtese) {
/**
* observe que aqui é setado o nome da pessoa como descrição
* e o próprio objeto pessoa para se buscado depois
*/
cmbProtese.addItem(t.getNome(), p);
}
}
/* redimeninar a largura da coluna */
private void defineRenderers() {
DefaultTableCellRenderer rendererCentro = new DefaultTableCellRenderer();
rendererCentro.setHorizontalAlignment(SwingConstants.CENTER);
DefaultTableCellRenderer rendererDireita = new DefaultTableCellRenderer();
rendererDireita.setHorizontalAlignment(SwingConstants.RIGHT);
DefaultTableCellRenderer rendererEsquerda = new DefaultTableCellRenderer();
rendererEsquerda.setHorizontalAlignment(SwingConstants.LEFT);
// jTPrecoableHeader header = jTable.getTableHeader();
// header.setPreferredSize(new Dimension(0, 35));
// PrecoTableModel modeloDaColuna = (PrecoTableModel) jTPreco.getColumnModel();
/* modeloDaColuna.getColumn(0).setCellRenderer(rendererCentro);
modeloDaColuna.getColumn(1).setCellRenderer(rendererEsquerda);
modeloDaColuna.getColumn(2).setCellRenderer(rendererCentro); */
jTPreco.getColumnModel().getColumn(0).setPreferredWidth(30);
jTPreco.getColumnModel().getColumn(1).setPreferredWidth(160);
jTPreco.getColumnModel().getColumn(2).setPreferredWidth(30);
jTPreco.getColumnModel().getColumn(3).setPreferredWidth(450);
jTPreco.getColumnModel().getColumn(4).setPreferredWidth(30);
jTPreco.getColumnModel().getColumn(5).setPreferredWidth(150);
}
private void pesquisaDuplicidade(java.lang.Integer idTipdepreco, java.lang.Integer codprotes) {
PrecoDao dao = null;
try {
dao = new PrecoDao();
} catch (SQLException e) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, e);
}
try {
listaPreco = (ArrayList<Preco>) dao.listAll();
for (Preco prc : listaPreco) {
if(prc instanceof Preco){
//aqui é feito um cast
Preco pr = (Preco)prc;
//faz verificação se for o caso.
if(pr.getIdtipopreco().equals(idTipdepreco)&&(pr.getIdprotese().equals(codprotes))){
// System.out.println("Tipopreco="+pr.getIdtipopreco()+" protese="+pr.getIdprotese());
msg = "Atenção. Tipo de Preço e Protese já existe no Cadastro de Preço!";
mensagemErro(msg);
duplicidade = true;
return;
}
}
}
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException e) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, e);
}
return;
}
private void verificaPaternidade(String modelo, int id) {
FichasDao dao = null;
try {
dao = new FichasDao();
} catch (SQLException e) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, e);
}
try {
listaFichas = (ArrayList<Fichas>) dao.findbyfiltrovarios(id, id, id, null, isMaximum);
for (Fichas fic : listaFichas) {
if(fic instanceof Fichas){
//aqui é feito um cast
Fichas ficha = (Fichas)fic;
//faz verificação se for o caso.
achouFilhos = false;
if(ficha.getIdpreco().equals(id)){
achouFilhos = true;
}
}
}
} catch (SQLException ex) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, ex);
}
try {
dao.closeConnection();
} catch (SQLException e) {
Logger.getLogger(jIFPrecos.class.getName()).log(Level.SEVERE, null, e);
}
}
private Protese getuJComboBox1(){
/**
* para retornar o objeto utilise o método getSelectedObject
* para retornar o nome utilize o método getSelectedItem
*/
return (Protese) cmbProtese.getSelectedObject();
}
}
Grato mais uma vez.