Celdas no editables

carol
10 de Octubre del 2005
Hola todos, tengo un problema que me tiene has ta el borde, resulta que tengo una tabla y la misma debe estar enabled false porque no debo editar las celdas pero si desplazarme por ellas porque hay campos muy largos, estoy aplicando el metodo isCellEditable para impedir que modifiquen las celdas pero no lo he conseguido no se que pueda estar haciendo mal, adjunto les envio el codigo para que por favor alguien me ayude.
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.*;
import java.io.*;
import java.sql.*;
import java.awt.event.*;
import java.util.Vector.*;
import symbol.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.JTable;
import javax.swing.*;
import java.awt.*;
import javax.swing.table.TableColumn;

public class LogTransacciones extends java.awt.Frame
{
DefaultTableModel dtm;
//public BusquedaLogTrans busqueda;
ExportarExcel xls;
ConsolaAdmSapmovil consola;
SystemData sys;
BusquedaLogTrans busqueda;

//ResultSet resul;
/** Creates new form LogTransacciones */
public LogTransacciones(ConsolaAdmSapmovil consola)
{
this.consola = consola;
this.sys = consola.sys;

initComponents();

busqueda= new BusquedaLogTrans(consola,this) ;
busqueda.hide();

before();
}

public void before()
{
this.setSize(800, 600);
this.setLocation(0,0);
this.setTitle("Log Transacciones");
jtLogTrans.setEnabled(true);

Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

int x = (screen.width-this.getWidth())/2;
int y = (screen.height-this.getHeight())/2;

this.setLocation(x, y);
dtm=new DefaultTableModel();
xls=new ExportarExcel();
TableColumn columna=null;
columna=jtLogTrans.getColumnModel().getColumn(0);
columna.setPreferredWidth(100);
columna=jtLogTrans.getColumnModel().getColumn(1);
columna.setPreferredWidth(100);
columna=jtLogTrans.getColumnModel().getColumn(2);
columna.setPreferredWidth(100);
columna=jtLogTrans.getColumnModel().getColumn(3);
columna.setPreferredWidth(100);
columna=jtLogTrans.getColumnModel().getColumn(4);
columna.setPreferredWidth(200);
columna=jtLogTrans.getColumnModel().getColumn(5);
columna.setPreferredWidth(200);
columna=jtLogTrans.getColumnModel().getColumn(6);
columna.setPreferredWidth(200);
columna=jtLogTrans.getColumnModel().getColumn(7);
columna.setPreferredWidth(4000);
columna=jtLogTrans.getColumnModel().getColumn(8);
columna.setPreferredWidth(200);
columna=jtLogTrans.getColumnModel().getColumn(9);
columna.setPreferredWidth(200);
columna=jtLogTrans.getColumnModel().getColumn(10);
columna.setPreferredWidth(300);

bExcel.setIcon(new javax.swing.ImageIcon(sys.getIni("ImagesPath")+"\icon-xls.png"));
bNvaBusqueda.setIcon(new javax.swing.ImageIcon(sys.getIni("ImagesPath")+"\bBusqueda3.gif"));

}

public boolean isCellEditable (int row, int col)
{
return false;
}
public void cargar_dtm(ResultSet resul)
{
dtm.setColumnCount(0);
dtm.setRowCount(0);


dtm.addColumn("Oracle Sid");
dtm.addColumn("Extproc Pid");
dtm.addColumn("Usuario");
dtm.addColumn("Sociedad");
dtm.addColumn("Fecha y Hora Inicio Proceso");
dtm.addColumn("Fecha y Hora Fin Proceso");
dtm.addColumn("Tipo de Transacción");
dtm.addColumn("Texto de Control");
dtm.addColumn("Número de Transacción");
dtm.addColumn("Clase Movimiento");
dtm.addColumn("Resultado");


try
{
while(resul.next())
{
Vector Vec=new Vector();
Vec.add(""+resul.getInt("oracle_sid"));
Vec.add(""+resul.getInt("extproc_pid"));
Vec.add(resul.getString("usuario"));
Vec.add(resul.getString("sociedad"));
Vec.add(resul.getString("fecha_hora_proceso"));
Vec.add(resul.getString("fecha_fin_proceso"));
Vec.add(resul.getString("tipo_transaccion"));
Vec.add(resul.getString("texto_control"));
Vec.add(""+resul.getInt("nro_trans"));
Vec.add(resul.getString("clase_movimiento"));
Vec.add(resul.getString("texto_resultado"));
System.out.println(Vec);
dtm.addRow(Vec);
jtLogTrans.updateUI();


}
}
catch (Exception e)
{
e.printStackTrace();

}

jtLogTrans.setModel(dtm);
jtLogTrans.isCellEditable ( jtLogTrans.getRowCount(),10);
if (resul==null)
System.out.println("No existen transacciones para estos datos");

TableColumn columna=null;
columna=jtLogTrans.getColumnModel().getColumn(0);
columna.setPreferredWidth(100);
columna=jtLogTrans.getColumnModel().getColumn(1);
columna.setPreferredWidth(100);
columna=jtLogTrans.getColumnModel().getColumn(2);
columna.setPreferredWidth(100);
columna=jtLogTrans.getColumnModel().getColumn(3);
columna.setPreferredWidth(100);
columna=jtLogTrans.getColumnModel().getColumn(4);
columna.setPreferredWidth(200);
columna=jtLogTrans.getColumnModel().getColumn(5);
columna.setPreferredWidth(200);
columna=jtLogTrans.getColumnModel().getColumn(6);
columna.setPreferredWidth(200);
columna=jtLogTrans.getColumnModel().getColumn(7);
columna.setPreferredWidth(200);
columna=jtLogTrans.getColumnModel().getColumn(8);
columna.setPreferredWidth(200);
columna=jtLogTrans.getColumnModel().getColumn(9);
columna.setPreferredWidth(200);
columna=jtLogTrans.getColumnModel().getColumn(10);
columna.setPreferredWidth(300);
//jtLogTrans.add(jspTable);



}

/*public void actualizar()
{
jtLogTrans.updateUI();
}*/

/** 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.
*/
private void initComponents()
{
java.awt.GridBagConstraints gridBagConstraints;

jpButtons = new javax.swing.JPanel();
bNvaBusqueda = new javax.swing.JButton();
bExcel = new javax.swing.JButton();
jspTable = new javax.swing.JScrollPane();
jtLogTrans = new javax.swing.JTable();

setLayout(new java.awt.GridBagLayout());

setBackground(new java.awt.Color(153, 204, 255));
addMouseMotionListener(new java.awt.event.MouseMotionAdapter()
{
public void mouseDragged(java.awt.event.MouseEvent evt)
{
Evento(evt);
}
});
addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseReleased(java.awt.event.MouseEvent evt)
{
EventoBus(evt);
}
});
addWindowListener(new java.awt.event.WindowAdapter()
{
public void windowClosing(java.awt.event.WindowEvent evt)
{
exitForm(evt);
}
});

jpButtons.setLayout(new java.awt.GridBagLayout());

jpButtons.setBackground(new java.awt.Color(153, 204, 255));
bNvaBusqueda.setIcon(new javax.swing.ImageIcon(""));
bNvaBusqueda.setToolTipText("Nueva Busqueda");
bNvaBusqueda.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
bNvaBusquedaActionPerformed(evt);
}
});
bNvaBusqueda.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseClicked(java.awt.event.MouseEvent evt)
{
bNvaBusquedaMouseClicked(evt);
}
});

gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.ipady = 2;
gridBagConstraints.insets = new java.awt.Insets(3, 6, 3, 23);
jpButtons.add(bNvaBusqueda, gridBagConstraints);

bExcel.setIcon(new javax.swing.ImageIcon(""));
bExcel.setToolTipText("Enviar a Excel");
bExcel.setPreferredSize(new java.awt.Dimension(61, 31));
bExcel.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
bExcelActionPerformed(evt);
}
});

gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 6;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.gridheight = 2;
gridBagConstraints.ipadx = 10;
gridBagConstraints.ipady = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 7, 44);
jpButtons.add(bExcel, gridBagConstraints);

gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.gridwidth = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.ipadx = 402;
gridBagConstraints.ipady = 49;
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
add(jpButtons, gridBagConstraints);

jspTable.setBackground(new java.awt.Color(153, 204, 255));
jtLogTrans.setModel(new javax.swing.table.DefaultTableModel(
new Object [][]
{

},
new String []
{
"Oracle Sid", "Extproc Pid", "Usuario", "Sociedad", "Fecha y Hora Inicio Proceso", "Fecha y Hora Fin Proceso", "Tipo de Transacción", "Texto de Control", "Número de Transacciones", "Clase Movimiento", "Resultado"
}
)
{
boolean[] canEdit = new boolean []
{
false, false, false, false, false, false, false, false, false, false, false
};

public boolean isCellEditable(int rowIndex, int columnIndex)
{
return canEdit [columnIndex];
}
});
jtLogTrans.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
jspTable.setViewportView(jtLogTrans);

gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.ipadx = 146;
gridBagConstraints.ipady = 26;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
add(jspTable, gridBagConstraints);
jspTable.getAccessibleContext().setAccessibleName("");

java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-391)/2, (screenSize.height-334)/2, 391, 334);
}

private void bExcelActionPerformed(java.awt.event.ActionEvent evt) {

//String cabecera;
//cabecera = "Oracle Sid;Extproc Pid;Usuario;Sociedad;Fecha y Hora Inicio Proceso;Fecha y Hora Fin Proceso;Tipo de Transacciones;Texto de Control;Número de Transacciones;Clase Movimiento;Resultado";
xls.cargarLibro(dtm);
}

private void bNvaBusquedaMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
/*BusquedaLogTrans busqueda= new BusquedaLogTrans() ;
busqueda.show();*/

}

private void bNvaBusquedaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//limpia la tabla

//BusquedaLogTrans busqueda= new BusquedaLogTrans(consola,this) ;
busqueda.show();
busqueda.toFront();
//this.hide();
}

/* private void before()
{
bNvaBusqueda.setToolTipText("");

}*/

private void EventoBus(java.awt.event.MouseEvent evt) {


}

private void Evento(java.awt.event.MouseEvent evt) {


}

/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {

salir();
}

private void salir()
{
int resp = JOptionPane. showConfirmDialog(this,"¿Desea Salir del Log de Transacciones?","Log Transacciones",JOptionPane.YES_NO_OPTION);

if(resp==0)
{
this.hide();
consola.show();
}
}

// Variables declaration - do not modify
private javax.swing.JButton bExcel;
private javax.swing.JButton bNvaBusqueda;
private javax.swing.JPanel jpButtons;
private javax.swing.JScrollPane jspTable;
private javax.swing.JTable jtLogTrans;
// End of variables declaration
}