martes, 10 de diciembre de 2013

ActionPerformed JTable y cancelar edición JTable

El código siguiente les ayudara a permitir la edición de solo ciertas filas y/o columnas además que permite una propiedad semejante al ActionPerformed que tanto hace falta en el JTable. 
Crearemos un nuevo modelo para nuestro JTable. 
DefaultTableModel nuevo_modelo = new DefaultTableModel() {          
};
Dentro editaremos el método isCellEditable. Mediante if's ustedes pueden guiar al sistema que columnas y/o filas pueden ser editados. 
public boolean isCellEditable(int fila, int columna) {            
if (columna > 2 && columna <4) {
return true;                    
}
return false;
} 
El modelo quedaria de la siguiente forma. 
DefaultTableModel nuevo_modelo = new DefaultTableModel() {
@Override
public boolean isCellEditable(int fila, int columna) {                        
if (columna > 2 && columna <4) {
return true;                    
}
return false;
}           
};
El método isCellEditable, Se comporta como ActionPerformed ya que cada vez que se intenta escribir en el JTable este pregunta si es editable.Lo único que tenemos que hacer es agregar nuestros métodos antes del if. 
DefaultTableModel nuevo_modelo = new DefaultTableModel() {
@Override
public boolean isCellEditable(int fila, int columna) { 
System.out.println("Se esta intentando editar la fila: "+fila+". Y la columna: "+columna);
Metodo(); //Aqui podemos agregar todo lo que necesitemos que realize la tabla al ser editada.
if (columna > 2 && columna <4) {
return true;                    
}
return false;
}           
};
Finalmente solo agregamos el modelo a nuestra tabla y nuestras columnas. Siguiendo el ejemplo el modelo solo permitirá la edición de la columna Cantidad. 
jTable.setModel(nuevo_modelo);
nuevo_modelo.addColumn("Numero");
nuevo_modelo.addColumn("Codigo");
nuevo_modelo.addColumn("Descricion");
nuevo_modelo.addColumn("Cantidad");
nuevo_modelo.addColumn("Almacen");             

miércoles, 21 de agosto de 2013

Alinear texto en un JTable

El siguiente código muestra como alinear el texto contenido en una celda del JTable. 
Lo primero que necesitaremos sera crear una variable del tipo DefaultTableCellRenderer. 
DefaultTableCellRenderer Alinear = new DefaultTableCellRenderer(); 
Java les pedira importar los paquetes DefaultTableCellRenderer, Acepten y asignamos a la variable Alinear la alineacion horizontal que deseen. 
  Alinear.setHorizontalAlignment(SwingConstants.RIGHT);//.LEFT .RIGHT .CENTER
Finalmente agregamos a nuestro JTable la alineacion. Dentro de getColumn() el numero es la columna donde se aplicara la alineacion. 
jTable.getColumnModel().getColumn(6).setCellRenderer(Alinear_Double);

miércoles, 10 de julio de 2013

Mayúsculas y Minúsculas desde MySQL

 
SELECT UPPER(texto) FROM tabla;/*Mayúsculas*/
SELECT LOWER(texto) FROM tabla;/*Minúsculas*/
 

Calculadora de Windows desde JAVA.

El siguiente código muestra como ejecutar la calculadora de windows. 
Lo primero que necesitaras sera importar las excepciones. 
import java.io.IOException; 
Despues solo agrega el siguiente metodo y ya solo necesitaras ejecutarlo ya sea en un boton o como una llamada al inicio. 
  private void Calculadora(){
        try {
            Runtime rt = Runtime.getRuntime();
            Process p = rt.exec("calc");
            p.waitFor();
        } catch (IOException | InterruptedException ex) {     
            System.out.println("Error al ejecutar la calculadora del sistema windows: "+ ex);
       }
    
} 
Ejemplo: 
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
Calculadora();
}