View Javadoc
1   package com.jsql.view.swing.panel.split;
2   
3   import com.jsql.view.swing.util.MediatorHelper;
4   
5   import javax.swing.*;
6   import java.awt.event.ActionEvent;
7   import java.awt.event.ActionListener;
8   
9   /**
10   * MouseAdapter to show/hide bottom panel.
11   */
12  public class ActionHideShowResult implements ActionListener {
13      
14      /**
15       * Hide bottom panel if both main and bottom are visible, also
16       * displays an ersatz bar replacing tabbedpane.
17       * Or else if only main panel is visible then displays bottom panel
18       * and hide ersatz panel.
19       */
20      @Override
21      public void actionPerformed(ActionEvent e) {
22          var split = MediatorHelper.frame().getSplitNS();
23          if (split.getTopComponent().isVisible() && split.getBottomComponent().isVisible()) {
24              MediatorHelper.panelConsoles().setDividerLocation(split.getDividerLocation());
25              split.getTopComponent().setVisible(false);
26              MediatorHelper.panelConsoles().getLabelShowNorth().setVisible(false);
27              split.setDividerSize(0);  // required to hide bar
28          } else if (split.getTopComponent().isVisible() && !split.getBottomComponent().isVisible()) {
29              split.setDividerLocation(MediatorHelper.panelConsoles().getDividerLocation());
30              split.getBottomComponent().setVisible(true);
31              split.getTopComponent().setVisible(true);
32              split.setDividerSize(UIManager.getInt("SplitPane.dividerSize"));
33          }
34      }
35  }