se puede añadir HTML a varios componente de java y este poder adaptarlo correctamente sin problemas y no es todo puedo darle estilos a la tabla por medio de CSS , asi que sabiendo eso creo un documento simple HTML dentro de una variable STRING.
str = "html" +
"style type=text/css"+
".estilo1{font-family:"+getFontFirstColumn().getFamily()+"; "+"font-weight:"+fuente(getFontFirstColumn().getStyle())+";"+"font-size:"+getFontFirstColumn().getSize()+"px;"+"color:rgb("+getColorFirstColumn().getRed()+","+getColorFirstColumn().getGreen()+","+getColorFirstColumn().getBlue()+");"+"}"+
".estilo2{font-family:"+getFontSecondColumn().getFamily()+"; "+"font-weight:"+fuente(getFontSecondColumn().getStyle())+";"+"font-size:"+ getFontSecondColumn().getSize()+"px;"+"color:rgb("+getColorSecondColumn().getRed()+","+getColorSecondColumn().getGreen()+","+getColorSecondColumn().getBlue()+");"+"}"+
"/style"+
"table width='"+ancho+"'"+"" +
"tr" +
"td class=estilo1 align='left'" + leftText;
str = str + "/tdtd class=estilo2 align='right'" +
rightText + "/td/tr/table/html";
private void addItemColum(String[] left, String right[])
{
if(left.length 1 && right.length1)
{
for(int i=0; ileft.length; i++)
{
this.addItem(new TableItem(this,left[i], right[i]));
}
}
}
String nombre[]={"Pedro","Pablo","Maria","Eudalia"};
String años[]={"22","20","15","18"};
combo_box_union.addItemColum(nombre, años);
de esta forma podemos añadir items a cada columna,pero manual mente.
Pero si quiero cargar datos desde Mysql?
para ello necesito utilizarArrayListString con el ArrayList podremos almacenar los valores que retorna la consulta SQL cabe recalcar que aquí necesitamos utilizar dos campos de la tabla ya que son dos columnas en el JComboBox , luego que que los ArrayList este cargados le pasamos el valor a dos variables Arrary String ,estas dos varibles seran los valores que recibirá el métodoaddItemColum(String[] left, String right[]) , para luego ser añadidos al JComoBox por medio de addItem();
public void setInjectSQLDobleColumn(String sql,String campo1,String campo2){
try{
ResultSet rs;
rs=ConexionBD.Consulta(sql);
ArrayListString col1 = new ArrayListString();
ArrayListString col2 = new ArrayListString();
while (rs.next()) {
col1.add(rs.getString(campo1));
col2.add(rs.getString(campo2));
}
String [] itemCol_1 = new String [col1.size()];
String [] itemCol_2 = new String [col2.size()];
col1.toArray(itemCol_1);
col2.toArray(itemCol_2);
addItemColum(itemCol_1, itemCol_2);
}
catch(Exception ex){
System.out.println("ERROR EN AL CARGAR DATOS");
}
}
Como retorna los dos valores del Item selecionado ?
para eso necesito recrear dos métodos que reciban y retornen los datos dentro de estos dos metodos estara instanciada la claseTableItem y el valor que recibira los métodos seran de tipo Object .
public String getLeftText(Object obj)
{
TableItem item = (TableItem)obj;
return item.getLeftText();
}
public String getRightText(Object obj)
{
TableItem item = (TableItem)obj;
return item.getRightText();
}
utilizando los métodos dentro de un eventoactionPerformed.
combo_box_union.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
txt_nombre.setText(combo_box_union.getLeftText(combo_box_union.getSelectedItem()));
txt_curso.setText(combo_box_union.getRightText(combo_box_union.getSelectedItem()));
}
});
les dejo el codigo fuente completo mas la base de datos.
Salud Loans SEO Mobile casino Juegos online Transfer commodities Degree Recovery Lawyer Insurance Donate Car for Tax Credit Claim Online casino Recetas de Cocina Credit mortgage Mortgage insurance Donate Your Car for Kids Attomey Classes Hosting Conference Call Donate hotels Laws and lawyers Web Hosting and Domains Bufete de Abogados Treatment Structures Annuity Settlement Política Business Casino reviews Trading Software Fashion and Design Tecnología Cord Blood bag Online games Abogados Hipoteca Curso de inglés básico Gas/Electricity Moda y Diseño Los préstamos y donaciones Rehab money Cómo hacer dinero en línea
si esta bueno tu codigo, porque se puede personalizar los itemes poniendo colores diferentes, pero hay problema que cuando extrae un elemento selecionado de combo te captura el objeto que resive del modelo de la clase TableItem, y eso no es un problema muy grande, poque si haces esto String candena = JcomboBox.getSelectItem().toString(); te muestra todo el codigo de modelo de TableItem de la siguiente manera que retornas de la variable str
ResponderEliminarpero si lo quieres mosrae en un JOptionPane.showMessageDialog(null, cadena);
te lo muestra bien y con los colores,
pero si quieres almacenarlo en una variable tipo cadena, esto te guardar una cadena completa html; y eso es un problema
se puede hacer un substrin(1,20).toString(); pero no siembre son los valores que se neesita..
checar alguien lo que comento