Andres Infante
unread,Nov 7, 2012, 11:44:53 AM11/7/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to jav...@googlegroups.com
Buenas tardes.
Tengo el siguiente codigo:
package interfaz;
import Front.InfoFacturas;
import auxiliar.DAO.FachadaFacturaFinalAux;
import javax.swing.table.DefaultTableModel;
import java.util.ArrayList;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import org.apache.log4j.Logger;
/**
*
* @author Andres Infante
*/
public class FrameBuscarHojaTrabajo extends javax.swing.JFrame {
/**
* Creates new form FrameBuscarHojaTrabajo
*/
public FrameBuscarHojaTrabajo() {
initComponents();
}
/**
* 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")
private static Logger logger = Logger.getLogger(FrameBuscarHojaTrabajo.class);
private JTable jTableFacturas;
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jTextBoxNumeroFactura = new javax.swing.JTextField();
jLabelNumeroFactura = new javax.swing.JLabel();
jButtonConsultarFacturas = new javax.swing.JButton();
jScrollPaneTablaFacturas = new javax.swing.JScrollPane();
setTitle("Pretražiti Radni Nalog");
setPreferredSize(new java.awt.Dimension(940, 680));
jTextBoxNumeroFactura.setPreferredSize(new java.awt.Dimension(200, 20));
jLabelNumeroFactura.setText("Radni Nalog:");
jButtonConsultarFacturas.setText("Traži");
jButtonConsultarFacturas.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonConsultarFacturasActionPerformed(evt);
}
});
jScrollPaneTablaFacturas.setBackground(new java.awt.Color(255, 255, 255));
jScrollPaneTablaFacturas.setPreferredSize(new java.awt.Dimension(800, 300));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(0, 22, Short.MAX_VALUE)
.addComponent(jScrollPaneTablaFacturas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(254, 254, 254)
.addComponent(jLabelNumeroFactura)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextBoxNumeroFactura, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(350, 350, 350)
.addComponent(jButtonConsultarFacturas)))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(49, 49, 49)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelNumeroFactura)
.addComponent(jTextBoxNumeroFactura, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(27, 27, 27)
.addComponent(jButtonConsultarFacturas)
.addGap(34, 34, 34)
.addComponent(jScrollPaneTablaFacturas, javax.swing.GroupLayout.PREFERRED_SIZE, 274, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(30, Short.MAX_VALUE))
);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-848)/2, (screenSize.height-495)/2, 848, 495);
}// </editor-fold>
private void jButtonConsultarFacturasActionPerformed(java.awt.event.ActionEvent evt) {
try {
String numFacturaTXT = jTextBoxNumeroFactura.getText();
if (!numFacturaTXT.isEmpty()) {
int numFactura = Integer.parseInt(numFacturaTXT);
FachadaFacturaFinalAux objFachadaFactura = new FachadaFacturaFinalAux();
ArrayList listaFacturas = objFachadaFactura.ConsultarHojaTrabajoXNumero(numFactura);
Object[] columnNames = new Object[8];
columnNames[0] = "Item";
columnNames[1] = "id";
columnNames[2] = "Num. Factura";
columnNames[3] = "Num. Recibido";
columnNames[4] = "Fecha Entrega";
columnNames[5] = "Fecha Factura";
columnNames[6] = "Total";
columnNames[7] = "idProducto";
DefaultTableModel modelo = new DefaultTableModel(columnNames, 0) {
@Override
public boolean isCellEditable(int row, int column) {
//all cells false
return false;
}
};
Object[] invData = new Object[8];
int i = 1;
for (Object inv : listaFacturas) {
InfoFacturas objInv = (InfoFacturas) inv;
invData[0] = i;
invData[1] = objInv.getId();
invData[2] = objInv.getNumDocumento();
invData[3] = objInv.getNumRecibido();
invData[4] = objInv.getFechaEntrega();
invData[5] = objInv.getFechaFactura();
invData[6] = objInv.getTotal();
invData[7] = objInv.getIdProducto();
modelo.addRow(invData);
i++;
}
jTableFacturas = new JTable(modelo);
//jTableFacturas.removeColumn(jTableFacturas.getColumnModel().getColumn(1));
// jTableFacturas.removeColumn(jTableFacturas.getColumnModel().getColumn(3));
// jTableFacturas.removeColumn(jTableFacturas.getColumnModel().getColumn(4));
jTableFacturas.removeColumn(jTableFacturas.getColumnModel().getColumn(6));
// jTableFacturas.removeColumn(jTableFacturas.getColumnModel().getColumn(7));
jTableFacturas.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jScrollPaneTablaFacturas.setViewportView(jTableFacturas);
jTableFacturas.addMouseListener(new java.awt.event.MouseAdapter() {
@Override
public void mouseClicked(java.awt.event.MouseEvent evt) {
if (evt.getClickCount() == 2) {
jTableFacturasMouseClicked(evt);
}
}
});
} else {
}
} catch (Exception e) {
logger.debug(e.getCause());
}
}
private void jTableFacturasMouseClicked(java.awt.event.MouseEvent evt){
if (evt.getButton()!= java.awt.event.MouseEvent.BUTTON1) {
return;
}
//obtengo el Id de la factura seleccionada para buscarla en la BD y mostrar el formulario
int idFactura = Integer.parseInt(jTableFacturas.getValueAt(jTableFacturas.getSelectedRow(), 1).toString());
int idProducto = Integer.parseInt(jTableFacturas.getValueAt(jTableFacturas.getSelectedRow(), 6).toString());
//Llamar el framde que muestra los datos de la factura para editar
FrameEditarHojaTrabajo objEditarHoja = new FrameEditarHojaTrabajo(idFactura, idProducto);
objEditarHoja.setVisible(true);
}
// Variables declaration - do not modify
private javax.swing.JButton jButtonConsultarFacturas;
private javax.swing.JLabel jLabelNumeroFactura;
private javax.swing.JScrollPane jScrollPaneTablaFacturas;
private javax.swing.JTextField jTextBoxNumeroFactura;
// End of variables declaration
}
Cuando le doy doble click para que me abra la otra ventana despues de la consulta me sale esto:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 6 >= 6
at java.util.Vector.elementAt(Vector.java:427)
at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:277)
at interfaz.FrameEditarHojaTrabajo.agregarProductoFactura(FrameEditarHojaTrabajo.java:568)
at interfaz.FrameEditarHojaTrabajo.buscarDatosFactura(FrameEditarHojaTrabajo.java:489)
at interfaz.FrameEditarHojaTrabajo.<init>(FrameEditarHojaTrabajo.java:65)
at interfaz.FrameBuscarHojaTrabajo.jTableFacturasMouseClicked(FrameBuscarHojaTrabajo.java:183)
at interfaz.FrameBuscarHojaTrabajo.access$100(FrameBuscarHojaTrabajo.java:18)
at interfaz.FrameBuscarHojaTrabajo$3.mouseClicked(FrameBuscarHojaTrabajo.java:163)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
at java.awt.Component.processMouseEvent(Component.java:6270)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Se que funcionaba bien porque lo probe una vez y todo iba bien, pero ahora sale este error, ya he revisado la definicion de los array y esta supuestamente Ok. Si alguien tiene una idea de que mas debo revisar se lo agradezco.
Saludos.
--
Andrés Infante Sánchez