¿Alguien puede indicarme en la dirección correcta cómo agregar una imagen en la celda de la tabla Java?Cómo insertar una imagen en la celda JTable
Respuesta
Cualquiera de crear el ImageIcon por adelantado:
ImageIcon icon = new ImageIcon("image.gif");
table.setValueAt(icon, row, column);
O puede tratar de anular el procesador para su campo de icono:
static class IconRenderer extends DefaultTableCellRenderer {
public IconRenderer() { super(); }
public void setValue(Object value) {
if (value == null) {
setText("");
}
else
{
setIcon(value);
}
}
JTable ya proporciona un procesador de omisión de los iconos. Solo necesita decirle a la tabla qué datos se almacenan en una columna determinada para que pueda elegir el renderizador apropiado. Esto se realiza reemplazando el método getColumnClass (...):
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class TableIcon extends JPanel
{
public TableIcon()
{
Icon aboutIcon = new ImageIcon("about16.gif");
Icon addIcon = new ImageIcon("add16.gif");
Icon copyIcon = new ImageIcon("copy16.gif");
String[] columnNames = {"Picture", "Description"};
Object[][] data =
{
{aboutIcon, "About"},
{addIcon, "Add"},
{copyIcon, "Copy"},
};
DefaultTableModel model = new DefaultTableModel(data, columnNames)
{
// Returning the Class of each column will allow different
// renderers to be used based on Class
public Class getColumnClass(int column)
{
return getValueAt(0, column).getClass();
}
};
JTable table = new JTable(model);
table.setPreferredScrollableViewportSize(table.getPreferredSize());
JScrollPane scrollPane = new JScrollPane(table);
add(scrollPane);
}
private static void createAndShowGUI()
{
JFrame frame = new JFrame("Table Icon");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TableIcon());
frame.setLocationByPlatform(true);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowGUI();
}
});
}
}
Creo que esta respuesta es mejor ... – Sierox
¡Sí, funciona! Gracias. Pregunta: ¿Por qué la línea setPreferredScrollableViewportSize? Parece funcionar bien sin eso. –
@StefanReich, No tiene nada que ver con mostrar el icono en la tabla. El tamaño del marco es diferente cuando haces el paquete(). Depende de su requisito si usa el método o no. – camickr
- 1. ¿Cómo insertar una imagen en la celda de Excel?
- 2. Cómo mantener JTable en la celda editada
- 3. ¿Cómo envolver las líneas en una celda jtable?
- 4. cómo insertar valor en la celda DataGridView?
- 5. Cambiar el color de la celda JTable
- 6. ¿Cómo marcar la entrada de la celda JTable como inválida?
- 7. ¿Cómo puedo determinar qué celda de una JTable se seleccionó?
- 8. Cómo agregar un menú desplegable a una celda JTable
- 9. Cómo agregar un JComboBox a una celda JTable?
- 10. Puede una celda excel contener imagen
- 11. JTable: Botones en el Panel personalizado en la Celda
- 12. Determine qué celda JTable se hace clic
- 13. ¿Cómo agregar una información sobre herramientas a una celda en un jtable?
- 14. Insertar tabla en la celda (excel)
- 15. Java: cómo seleccionar una sola celda en una JTable y no toda la fila
- 16. Insertar una imagen en ggplot2
- 17. eliminando la rejilla jtable (borde de la celda) completamente
- 18. Mostrar una información sobre herramientas sobre una celda en una JTable
- 19. cómo insertar una imagen en la plantilla de correo electrónico
- 20. Colocando JToggleButton con JPanel dentro de una celda JTable
- 21. Insertar imagen en openpyxl
- 22. Insertar una imagen en la extensión de cromo
- 23. Cómo obtener la celda enfocada en JTable durante la selección múltiple
- 24. ¿Cómo hacer que un JButton en una celda JTable pueda hacer clic?
- 25. ¿Cómo puedo insertar una imagen en un RichTextBox?
- 26. JAVA - Validación en JTable
- 27. ¿Cómo seleccionar todo el texto en la celda JTable al editar pero no al tipear?
- 28. cómo insertar una imagen en un cuadro de texto
- 29. Cómo seleccionar todo el texto en la celda JTable al editar
- 30. Insertar una imagen en un documento de Word en Java
otro ejemplo sería tomada desde aquí: http://www.javareference.com/jrexamples/viewexample.jsp?id=125 – gumuruh
setIcon ? ¿Dónde está eso definido? – Buffalo
@Buffalo setIcon ((ImageIcon) value); – Benas