panel.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
if (panel.getSelectedComponent() == reportePanel) {
SwingAlert.mostrarAdvertencia("cambio de pestaña", panel);
agregarPestañaReporte();
}
}
});
------------------------
private void agregarPestañaReporte() {
if (entidad != null) {
HashMap parametros = new HashMap();
parametros.put("TRIP_ID", entidad.getId());
try {
if (tripReport == null) {
String ubicacion = "/inertial/uncorking/Trips.jrxml";
InputStream stream = TripWindows.class.getResourceAsStream(ubicacion);
tripReport = JasperCompileManager.compileReport(stream);
subreporte = JasperCompileManager.compileReport(TripWindows.class.getResourceAsStream("/inertial/uncorking/SubReportPasajeros.jrxml"));
}
parametros.put("SUBREPORTE_PASAJEROS", subreporte);
reportePanel.removeAll();
JasperPrint jp = JasperFillManager.fillReport(tripReport, parametros, UncorkingMain.CONN);
reporte = new JRViewer(jp);
reportePanel.add(reporte, BorderLayout.CENTER);
} catch (JRException ex) {
Logger.getLogger(TripWindows.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
jueves, 18 de febrero de 2010
jueves, 11 de febrero de 2010
Sensibilidad a mayúsuclas y minúsculas
cambiar el parametro lower_case_table_names=1 de archivo /etc/my.cnfen la seccion [mysqld]
reiniciar mysql
y despues hacer el restor
ver que cambio la variable: show variables like 'lower%'
http://dev.mysql.com/doc/refman/5.0/es/name-case-sensitivity.html
http://dev.mysql.com/doc/refman/5.0/es/moving.html
miércoles, 3 de febrero de 2010
EJ. expreciones Regulares
de una cadena obtener las sub cadena hasta el año
public class prueba {
@EJB
private static ImportacionOrdenesRemote importacionOrdenesBean;
public static void main(String[] args) {
String cadena = "AUTO/NACIONALES RENAULT 12 TL 1990 UWV-817";
Pattern patron = Pattern.compile("(\\d\\d\\d\\d)");
Matcher matcher = patron.matcher(cadena);
matcher.find();
String a = matcher.group(1);
System.out.println("***anio" + matcher.group(1));
String cadModelo = cadena.substring(0,cadena.indexOf(a)).trim();
cadena = cadena.substring(cadena.indexOf(a),cadena.length()).trim();
System.out.println("modelo " + cadModelo);
System.out.println("dadena" + cadena);
}
}
fuente :http://www.chuidiang.com/chuwiki/index.php?title=Expresiones_Regulares_en_Java
public class prueba {
@EJB
private static ImportacionOrdenesRemote importacionOrdenesBean;
public static void main(String[] args) {
String cadena = "AUTO/NACIONALES RENAULT 12 TL 1990 UWV-817";
Pattern patron = Pattern.compile("(\\d\\d\\d\\d)");
Matcher matcher = patron.matcher(cadena);
matcher.find();
String a = matcher.group(1);
System.out.println("***anio" + matcher.group(1));
String cadModelo = cadena.substring(0,cadena.indexOf(a)).trim();
cadena = cadena.substring(cadena.indexOf(a),cadena.length()).trim();
System.out.println("modelo " + cadModelo);
System.out.println("dadena" + cadena);
}
}
fuente :http://www.chuidiang.com/chuwiki/index.php?title=Expresiones_Regulares_en_Java
viernes, 29 de enero de 2010
Pintar celda de una tabla segun su valo
- Hago una clase que extienda de DefaultTableCellRenderer
private static Color original;
public EstadoPolizaCellRenderer() {
//obtengo el valor por defecto del color de la letra
original = new JLabel().getForeground();
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
// value trae el valor .. la columna era del tipo de la enumeracion
JLabel componente = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); // llama al metodo setvalue adentro
setCellColor(componente,(EstadoPropuesta) value);
return componente;
}
@Override
protected void setValue(Object value) {
if (value instanceof EstadoPropuesta) {
setText(((EstadoPropuesta) value).getNombre());
} else {
setText(null);
}
}
private void setCellColor(JLabel componente, EstadoPropuesta valor) {
if (valor == EstadoPropuesta.ANULADA) {
componente.setForeground(Color.RED);
} else if (valor == EstadoPropuesta.CARGADA ||
valor == EstadoPropuesta.EMISION) {
componente.setForeground(Color.BLUE);
} else {
componente.setForeground(original);
}
}
}
2. en la tabla setearle el render que creamos, es por tipo de columna
tabla = new SwingTablePanel
@Override
protected SwingTable createSwingTable(String titulo, SwingTableModel
SwingTable tablaLocal = super.createSwingTable(titulo, modelo);
tablaLocal.getTabla().setDefaultRenderer(EstadoPropuesta.class, new EstadoPolizaCellRenderer());
return tablaLocal;
}
}
martes, 12 de enero de 2010
Swing Select
localidad = new SwingSelect("Localidad","nombre",Localidad.class,1,new SwingSelectFilter() {
public List buscar(String texto) {
return LocalidadManager.getControl().listarLocalidades(texto);
}
});
localidad.addColumn(new Columna("Código", "codigo",int.class));
add(localidad);
public List buscar(String texto) {
return LocalidadManager.getControl().listarLocalidades(texto);
}
});
localidad.addColumn(new Columna("Código", "codigo",int.class));
add(localidad);
Funciones Utiles COMMONS Apache
- Copiar OBjetos. copia todos los atributos de un obejeto a otro: Si queremos clonar el objeto despues de esto le cambiamos el id al nuevo
BeanUtils.copyProperties(poliza, polizaExistente);
Like con campos enteros JPQL
Hay un artilugio para poder usar like en campos enteros , es concatenando una cadena vacia al entero esto lo combierte el campo a cadena y puedo usar el Like normalmente.
La fucion en jpql quedaria: CONCAT(campoint,'');
EJ:
return em.createQuery("select p from Localidad p Where UPPER(p.nombre) Like :texto " + " OR UPPER(CONCAT(p.codigo,'')) Like :texto order by p.nombre")
.setParameter("texto", texto.toUpperCase() +'%').getResultList();
La fucion en jpql quedaria: CONCAT(campoint,'');
EJ:
return em.createQuery("select p from Localidad p Where UPPER(p.nombre) Like :texto " + " OR UPPER(CONCAT(p.codigo,'')) Like :texto order by p.nombre")
.setParameter("texto", texto.toUpperCase() +'%').getResultList();
Suscribirse a:
Entradas (Atom)