1 package com.jsql.view.swing.action;
2
3 import com.jsql.util.I18nUtil;
4 import com.jsql.view.swing.util.MediatorHelper;
5 import com.jsql.view.swing.util.UiUtil;
6
7 import javax.swing.*;
8 import java.awt.*;
9 import java.awt.event.ActionEvent;
10
11 public class ActionCloseTabResult extends AbstractAction {
12
13 @Override
14 public void actionPerformed(ActionEvent e) {
15 ActionCloseTabResult.perform(MediatorHelper.tabResults().getSelectedIndex());
16 }
17
18 public static void perform(int closeTabNumber) {
19 if (MediatorHelper.tabResults().getTabCount() > 0) {
20 MediatorHelper.tabResults().removeTabAt(closeTabNumber);
21
22 if (MediatorHelper.tabResults().getTabCount() == 0) {
23 var splitPaneTopBottom = MediatorHelper.frame().getSplitNS();
24 var splitPaneLeftRight = splitPaneTopBottom.getSplitEW();
25 int dividerLocation = splitPaneLeftRight.getDividerLocation();
26
27 var label = new JLabel(UiUtil.APP_BIG.getIcon());
28 label.setMinimumSize(new Dimension(100, 0));
29 if (ComponentOrientation.LEFT_TO_RIGHT.equals(ComponentOrientation.getOrientation(I18nUtil.getCurrentLocale()))) {
30 splitPaneLeftRight.setRightComponent(label);
31 } else {
32 splitPaneLeftRight.setLeftComponent(label);
33 }
34
35 splitPaneLeftRight.setDividerLocation(dividerLocation);
36 }
37 }
38 }
39 }