void updateUI() {
   if (dialog != null) {
     App.invokeLaterUI(refreshTable);
   }
 }
  private final void show() {
    if (exception.size() == 0) {
      return;
    }

    if (dialog != null) {
      updateUI();
      return;
    }

    final JPanel panel = new JPanel(new GridBagLayout());
    final Insets insets = new Insets(ClientDesc.hgap, ClientDesc.hgap, 0, ClientDesc.vgap);
    {
      final GridBagConstraints c = new GridBagConstraints();
      c.insets = insets;
      c.gridy = 0;
      c.anchor = GridBagConstraints.CENTER;
      c.fill = GridBagConstraints.BOTH;
      c.weighty = 0.7;
      c.weightx = 1.0;

      tableException.setRowSelectionAllowed(true);
      //			panel.add(tableException, c);
      final JScrollPane scrollPane = new JScrollPane(tableException);
      scrollPane.setPreferredSize(new Dimension(500, 200));
      panel.add(scrollPane, c);
    }

    {
      final GridBagConstraints c = new GridBagConstraints();
      c.insets = insets;
      c.gridy = 1;
      c.anchor = GridBagConstraints.CENTER;
      c.fill = GridBagConstraints.BOTH;
      c.weighty = 0.3;
      c.weightx = 1.0;

      tableStacks.setRowSelectionAllowed(true);
      final JScrollPane scrollPane = new JScrollPane(tableStacks);
      scrollPane.setPreferredSize(new Dimension(500, 150));
      panel.add(scrollPane, c);
    }

    tableException.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
    tableStacks.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);

    final JPanel total = new JPanel(new BorderLayout(0, 0));
    {
      final JToolBar toolbar = new JToolBar(JToolBar.HORIZONTAL);
      toolbar.add(clearBtn);
      //			toolbar.setRequestFocusEnabled(false);

      total.add(toolbar, BorderLayout.NORTH);
      total.add(panel, BorderLayout.CENTER);
    }

    final ActionListener listener = null;
    final JButton closeBtn = App.buildDefaultCloseButton();
    dialog =
        (JFrame)
            App.showCenterPanelMain(
                total,
                0,
                0,
                "Exception List",
                false,
                closeBtn,
                null,
                listener,
                null,
                null,
                false,
                true,
                null,
                true,
                false);
    App.setDisposeListener(
        dialog,
        new DisposeListener() {
          @Override
          public void dispose() {
            dialog = null;
            SingleJFrame.removeJFrame(ExceptionViewer.class.getName());
          }
        });
    SingleJFrame.addJFrame(ExceptionViewer.class.getName(), dialog);
  }