1
2
3
4
5
6
7
8
9
10
11 package com.jsql.view.swing.tab;
12
13 import com.jsql.view.swing.action.ActionCloseTabResult;
14 import com.jsql.view.swing.util.MediatorHelper;
15
16 import javax.swing.*;
17 import java.awt.*;
18 import java.awt.event.MouseEvent;
19 import java.awt.event.MouseListener;
20
21
22
23
24
25 public class TabHeader extends JPanel implements MouseListener {
26
27 private final JLabel tabLabel = new JLabel();
28
29 public TabHeader(String label, Icon imageIcon) {
30 super(new BorderLayout());
31 this.setOpaque(false);
32 this.tabLabel.setIcon(imageIcon);
33 this.tabLabel.setText(label);
34 this.tabLabel.setName(label.trim());
35 this.add(this.tabLabel);
36 }
37
38
39
40
41 @Override
42 public void mouseClicked(MouseEvent e) {
43 if (SwingUtilities.isRightMouseButton(e)) {
44 return;
45 }
46 int closeTabNumber = MediatorHelper.tabResults().indexOfTabComponent(this);
47 ActionCloseTabResult.perform(closeTabNumber);
48 }
49
50 @Override
51 public void mouseEntered(MouseEvent e) {
52
53 }
54
55 @Override
56 public void mouseExited(MouseEvent e) {
57
58 }
59
60 @Override
61 public void mousePressed(MouseEvent e) {
62
63 }
64
65 @Override
66 public void mouseReleased(MouseEvent e) {
67
68 }
69
70 public JLabel getTabLabel() {
71 return this.tabLabel;
72 }
73 }