@@ -15,6 +15,7 @@ import javax.swing.JComponent
15
15
import javax.swing.JMenu
16
16
import javax.swing.JMenuItem
17
17
import javax.swing.JPopupMenu
18
+ import javax.swing.SwingUtilities
18
19
import javax.swing.ToolTipManager
19
20
import javax.swing.event.ChangeEvent
20
21
import java.awt.BorderLayout
@@ -31,7 +32,6 @@ import javax.swing.ImageIcon
31
32
import javax.swing.JLabel
32
33
import javax.swing.JPanel
33
34
import javax.swing.JTabbedPane
34
- import java.awt.event.MouseAdapter
35
35
import java.awt.event.MouseEvent
36
36
import java.awt.event.MouseListener
37
37
@@ -70,7 +70,7 @@ class TabbedPanel extends JPanel implements PreferencesChangeListener {
70
70
}
71
71
}
72
72
ToolTipManager . sharedInstance(). registerComponent(tabPanel)
73
- tabPanel. addMouseListener(new MouseAdapter () {
73
+ tabPanel. addMouseListener(new MouseListener () {
74
74
void mousePressed (MouseEvent e ) { showPopupTabMenu(e) }
75
75
void mouseReleased (MouseEvent e ) { showPopupTabMenu(e) }
76
76
void showPopupTabMenu (MouseEvent e ) {
@@ -81,6 +81,14 @@ class TabbedPanel extends JPanel implements PreferencesChangeListener {
81
81
}
82
82
}
83
83
}
84
+ void mouseEntered (MouseEvent e ) {}
85
+ void mouseExited (MouseEvent e ) {}
86
+ void mouseClicked (MouseEvent e ) {
87
+ int index = tabPanel. indexAtLocation(e. x, e. y)
88
+ if (index != -1 && SwingUtilities . isMiddleMouseButton(e)) {
89
+ removeComponent(tabPanel. getComponentAt(index))
90
+ }
91
+ }
84
92
})
85
93
return tabPanel
86
94
}
0 commit comments