Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Retazo: JTable -> TableCellRenderer

  • 0 Respuestas
  • 2024 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Adalher

  • *
  • Underc0der
  • Mensajes: 37
  • Actividad:
    1.67%
  • Reputación 0
    • Ver Perfil
« en: Diciembre 16, 2018, 04:31:24 pm »
Ejemplo de un renderizador para alineación del texto, colores, frontera y fuente:

Código: Java
  1. public class AlignTableCellRenderer extends DefaultTableCellRenderer.UIResource
  2. {
  3. private DefaultTableCellRenderer renderizador;
  4. private int horizontalAlignment=SwingConstants.CENTER;
  5. private Color foregroundColor=null;
  6. private Color backgroundColor=null;
  7. private Border frontera=null;
  8. private int fontstyle=Font.PLAIN;
  9.  
  10. public AlignTableCellRenderer(JTable table)
  11. {
  12. renderizador=(DefaultTableCellRenderer)table.getTableH eader().getDefaultRenderer();
  13. }
  14.  
  15. public AlignTableCellRenderer(JTable table,int horizontalAlignment)
  16. {
  17. this(table);
  18. this.horizontalAlignment=horizontalAlignment;
  19. }
  20.  
  21. public AlignTableCellRenderer(JTable table,int horizontalAlignment,Color foregroundColor)
  22. {
  23. this(table);
  24. this.horizontalAlignment=horizontalAlignment;
  25. this.foregroundColor=foregroundColor;
  26. }
  27.  
  28. public AlignTableCellRenderer(JTable table,int horizontalAlignment,int fontstyle,Color foregroundColor)
  29. {
  30. this(table);
  31. this.horizontalAlignment=horizontalAlignment;
  32. this.foregroundColor=foregroundColor;
  33. this.fontstyle=fontstyle;
  34. }
  35.  
  36. public AlignTableCellRenderer(JTable table,int horizontalAlignment,Border frontera)
  37. {
  38. this(table);
  39. this.horizontalAlignment=horizontalAlignment;
  40. this.frontera=frontera;
  41. }
  42.  
  43. public AlignTableCellRenderer(JTable table,Border frontera)
  44. {
  45. this(table);
  46. this.frontera=frontera;
  47. }
  48.  
  49. public void setForegroundColor(Color foregroundColor)
  50. {
  51. this.foregroundColor=foregroundColor;
  52. }
  53.  
  54. public void setBackgroundColor(Color backgroundColor)
  55. {
  56. this.backgroundColor=backgroundColor;
  57. }
  58.  
  59. public void setFontstyle(int fontstyle)
  60. {
  61. this.fontstyle=fontstyle;
  62. }
  63.  
  64. @Override
  65. public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column)
  66. {
  67. JLabel label=(JLabel)renderizador.getTableCellRendererCompone nt(table,value,isSelected,hasFocus,row,column);
  68. label.setHorizontalAlignment(horizontalAlignment);
  69. label.setFont(label.getFont().deriveFont(fontstyle ));
  70. if(foregroundColor!=null)
  71. {
  72. label.setForeground(foregroundColor);
  73. }
  74. if(backgroundColor!=null)
  75. {
  76. label.setBackground(backgroundColor);
  77. }
  78. if(frontera!=null)
  79. {
  80. label.setBorder(frontera);
  81. }
  82. return label;
  83. }
  84.  
  85. }
  86.  

Saludos

 

¿Te gustó el post? COMPARTILO!



Retazo: Cambiar el LookAndFeel para el tiempo de ejecución

Iniciado por Adalher

Respuestas: 1
Vistas: 2843
Último mensaje Enero 15, 2019, 09:57:14 am
por Elchito33