ActionCloseTabResult.java
package com.jsql.view.swing.action;
import com.jsql.util.I18nUtil;
import com.jsql.view.swing.util.MediatorHelper;
import com.jsql.view.swing.util.UiUtil;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
public class ActionCloseTabResult extends AbstractAction {
@Override
public void actionPerformed(ActionEvent e) {
ActionCloseTabResult.perform(MediatorHelper.tabResults().getSelectedIndex());
}
public static void perform(int closeTabNumber) {
if (MediatorHelper.tabResults().getTabCount() > 0) {
MediatorHelper.tabResults().removeTabAt(closeTabNumber);
if (MediatorHelper.tabResults().getTabCount() == 0) {
var splitPaneTopBottom = MediatorHelper.frame().getSplitNS();
JSplitPane splitPaneLeftRight = splitPaneTopBottom.getSplitEW();
int dividerLocation = splitPaneLeftRight.getDividerLocation();
var label = new JLabel(UiUtil.APP_BIG.getIcon());
label.setMinimumSize(new Dimension(100, 0));
if (ComponentOrientation.LEFT_TO_RIGHT.equals(ComponentOrientation.getOrientation(I18nUtil.getCurrentLocale()))) {
splitPaneLeftRight.setRightComponent(label);
} else {
splitPaneLeftRight.setLeftComponent(label);
}
splitPaneLeftRight.setDividerLocation(dividerLocation);
}
}
}
}