ActionHideShowResult.java
package com.jsql.view.swing.panel.split;
import com.jsql.view.swing.util.MediatorHelper;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* MouseAdapter to show/hide bottom panel.
*/
public class ActionHideShowResult implements ActionListener {
/**
* Hide bottom panel if both main and bottom are visible, also
* displays an ersatz bar replacing tabbedpane.
* Or else if only main panel is visible then displays bottom panel
* and hide ersatz panel.
*/
@Override
public void actionPerformed(ActionEvent e) {
var split = MediatorHelper.frame().getSplitNS();
if (split.getTopComponent().isVisible() && split.getBottomComponent().isVisible()) {
MediatorHelper.panelConsoles().setDividerLocation(split.getDividerLocation());
split.getTopComponent().setVisible(false);
MediatorHelper.panelConsoles().getLabelShowNorth().setVisible(false);
split.setDividerSize(0); // required to hide bar
} else if (split.getTopComponent().isVisible() && !split.getBottomComponent().isVisible()) {
split.setDividerLocation(MediatorHelper.panelConsoles().getDividerLocation());
split.getBottomComponent().setVisible(true);
split.getTopComponent().setVisible(true);
split.setDividerSize(UIManager.getInt("SplitPane.dividerSize"));
}
}
}