title: Refresh JTable after look and feel update
body: <p>I have a JTable with custom TableCellRenderer.</p>
  
  <pre><code>public class DateCellRenderer extends DefaultTableCellRenderer {
  
      private static final long serialVersionUID = 58L;
  
      public DateCellRenderer() {
          super();
          setHorizontalAlignment(CENTER);     
          setOpaque(true);
      }
      @Override
      public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {         
          if (value instanceof Date) {
              String date = new SimpleDateFormat("dd-MM-yyyy").format((Date) value);
              setText(date);
          }
          return this;
      }
  }
  </code></pre>
  
  <p>Also in my application I have a drop down menu by which I can change the look and feel. This drop down menu is in a parent frame and the table is in a dialog. When the dialog is opened the parent frame is inaccessible. So to change the look and feel I have to close the dialog first.</p>
  
  <p>Now in a particular skin if the table is populated by some data and I change the look and feel from parent frame and again open the dialog then the column, where I have added the TableCellRenderer, is keeping the old look and feel. It is not updating while the other columns render themselves in the new look and feel.</p>
  
  <p>I am unable to find the problem and its solution. Any help is appreciable.</p>
  
  <p>Note: The look and feel update of the application is made by the following snippet</p>
  
  <pre><code>javax.swing.UIManager.setLookAndFeel(uiProperties.getThemeModel().getThemeClass());
  ComponentFactory.getLibraryFrame().getRootPane().updateUI();
  for (int i = 0; i &lt; Frame.getWindows().length; i++) {
      SwingUtilities.updateComponentTreeUI(Frame.getWindows()[i]);
  }
  for (int i = 0; i &lt; Frame.getFrames().length; i++) {
      SwingUtilities.updateComponentTreeUI(Frame.getFrames()[i]);
  }
  </code></pre>
  
  <p>Thanks in advance.</p>
  
  <p>In HiFi theme chosen first:
  <img src="https://i.stack.imgur.com/jpHMI.png" alt="enter image description here"> </p>
  
  <p>Then I change the theme to Fast, and the second column "Released" not updated its ui:
  <img src="https://i.stack.imgur.com/AgTgK.png" alt="enter image description here"></p>
  
  <p>The JTable is:</p>
  
  <pre><code>public class MovieSearchResultTable extends BaseTable {
  
      private static final long serialVersionUID = 45L;
  
      public MovieSearchResultTable(TableModel tableModel) {
          super(tableModel);
          LibraryLogger.initMessage(getClass().getSimpleName());
      }
  
      @Override
      public void initialize() {
          setFillsViewportHeight(true);
          setAutoResizeMode(AUTO_RESIZE_OFF);
          getColumnModel().getColumn(1).setCellRenderer(new DateCellRenderer());//if I comment out this line then no problem. but without CellRenderer how could I format a Date, if I use formatted String instead of Date, then the column will not sort!!
      }
  
      @Override
      public boolean getScrollableTracksViewportWidth() {
          return getPreferredSize().getWidth() &lt; getParent().getWidth();
      }
  }
  </code></pre>