View Javadoc
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  }