Skip to content

Commit 17c8bde

Browse files
committed
Add "close on middle mouse click on the tab" support
1 parent acd511f commit 17c8bde

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

app/src/main/groovy/org/jd/gui/view/component/panel/TabbedPanel.groovy

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import javax.swing.JComponent
1515
import javax.swing.JMenu
1616
import javax.swing.JMenuItem
1717
import javax.swing.JPopupMenu
18+
import javax.swing.SwingUtilities
1819
import javax.swing.ToolTipManager
1920
import javax.swing.event.ChangeEvent
2021
import java.awt.BorderLayout
@@ -115,6 +116,17 @@ class TabbedPanel extends JPanel implements PreferencesChangeListener {
115116
tab.toolTipText = tip
116117
tab.add(new JLabel(title, icon, JLabel.LEADING), BorderLayout.CENTER)
117118
tab.add(tabCloseButton, BorderLayout.EAST)
119+
tab.addMouseListener(new MouseListener() {
120+
void mousePressed(MouseEvent e) {}
121+
void mouseReleased(MouseEvent e) {}
122+
void mouseEntered(MouseEvent e) { }
123+
void mouseExited(MouseEvent e) {}
124+
void mouseClicked(MouseEvent e) {
125+
if(SwingUtilities.isMiddleMouseButton(e)) {
126+
removeComponent(page)
127+
}
128+
}
129+
})
118130
ToolTipManager.sharedInstance().unregisterComponent(tab)
119131

120132
int index = tabbedPane.getTabCount()

0 commit comments

Comments
 (0)