Hoy tengo otro problema distinto. He estado buscando ya varias horas por la web pero no consigo encontrar una solución: No sé cómo dar formato a las celdas de mi JList. Sí sé que se hace con el ListCellRenderer, pero no tengo ni idea de cómo utilizarlo.
En estos momentos mi lista está así:
http://gyazo.com/1b60c62523d9537925bd0a77fb2c9c26
http://gyazo.com/49183291d78387dfa7404a7655ff588b
El problema es que yo quiero que, en vez de ocupar una sola linea de diezmil caracteres, vaya ocupando varias, nada más.
Por una parte, encontré este código:
Código Java:
Ver original
import java.awt.Component; import javax.swing.JList; import javax.swing.JTextArea; import javax.swing.ListCellRenderer; //implements ListCellRenderer @Override boolean isSelected, boolean cellHasFocus) { renderer.setText(value.toString()); renderer.setLineWrap(true); return renderer; } }
El problema de ese código, aunque consigue "relativamente" lo que quiero, es que no me permite seleccionar los elementos de la lista, así como que dependiendo del tamaño de la ventana se come frases o no. Es decir, es un Renderer que no cumple lo que necesito, pero se aproxima.
Si me pudieseis echar una mano ya fuese para entender cómo programar el ListCellRenderer o cualquier otra cosa, lo agradezco mil! :)
PD: Por si a alguno le sirve, para ponerse en contexto la lista es de objetos Visit, los cuales os pongo:
Código Java:
Ver original
private JList<Visit> visitsList;
Código Java:
Ver original
import java.util.Date; public class Visit { /** ATRIBUTOS */ /** CONSTRUCTOR */ public Visit(){ } this(); tratamiento = trat; } this(); problema = prob; tratamiento = trat; } /** MÉTODOS */ return "[" + fecha.toString() + "]\nProblema: " + problema + "\nTratamiento: " + tratamiento + "\n\n"; } }