/** Adds the overlay panel into the table & converts the button to 'download'. */ private void setupFakeTable(JPanel overlay) { MAIN_PANEL.removeAll(); // fixes flickering! JPanel background = new JPanel() { public boolean isOptimizedDrawingEnabled() { return false; } }; background.setLayout(new OverlayLayout(background)); // overlay.setBorder(BorderFactory.createEmptyBorder(20, 0, 20, 0)); JPanel overlayPanel = new JPanel(); overlayPanel.setOpaque(false); overlayPanel.setLayout(new MigLayout("fill")); overlayPanel.add(overlay, "center"); JScrollPane scrollPane = new JScrollPane(overlayPanel); scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER); scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.getViewport().setBackground(Color.WHITE); scrollPane.setBorder(BorderFactory.createEmptyBorder(28, 10, 4, 10)); JComponent table = getScrolledTablePane(); table.setOpaque(false); background.add(scrollPane); background.add(table); MAIN_PANEL.add(background); addButtonRow(); }