title: JTable only String columns are transparent
body: <p>I have a JTable which is transparent only for String columns.
  It looks like on this 
  <a href="http://i.stack.imgur.com/7HhVd.png" rel="nofollow">screenshot</a>.</p>
  
  <p>What is the problem? Is it possible to make any object columns transparent?</p>
  
  <pre><code>    table = new JTable(takeOrderWithTableController.getData(), new String[] { "Nazwa", "Trucizna?", "Na receptę?",
              "Kod kreskowy", "Data ważności", "Ostatni dzień sprzedaży", "Ilość" }) {
          private static final long serialVersionUID = 1L;
  
          @Override
          public Class&lt;?&gt; getColumnClass(int column) {
              switch (column) {
              case 0:
                  return String.class;
              case 1:
                  return Boolean.class;
              case 2:
                  return Boolean.class;
              case 3:
                  return Integer.class;
              case 4:
                  return String.class;
              case 5:
                  return String.class;
              case 6:
                  return Integer.class;
              default:
                  return String.class;
          }
      };
      };
      DefaultTableCellRenderer defaultTableCellRenderer = new DefaultTableCellRenderer();
      defaultTableCellRenderer.setHorizontalAlignment(JLabel.CENTER);
      defaultTableCellRenderer.setOpaque(false);
      table.setDefaultRenderer(Object.class, defaultTableCellRenderer);
      table.setRowSelectionAllowed(false);
      scrollPane = new JScrollPane(table);
      scrollPane.setPreferredSize(new Dimension(Constants.MAIN_WINDOW_MIN_WIDTH-100, 500));
      mainPanel.add(scrollPane);
      mainPanel.add(Box.createRigidArea(new Dimension(0, 20)));
      scrollPane.setOpaque(false);
      scrollPane.getViewport().setOpaque(false);
      mainPanel.setOpaque(false);
      table.setOpaque(false);
  </code></pre>