user5485183
user5485183

Reputation:

JTabbedPane click event

I need to be able to process a click on the tabs in a JTabbedPane. I'm not using this to change tabs, and this isn't going to trigger on tab change. What I'm attempting to do is close the tab when it is right clicked. However, I'm not sure how I can access the tab to add a click event on it. Most of the questions related to clicking on JTabbedPanes suggest using a ChangeListener, but that won't work, since the tabs aren't going to be changed on right click.

Is there any way for me to add a click event to a JTabbedPane's tab?

Upvotes: 0

Views: 2439

Answers (2)

Dani
Dani

Reputation: 2036

Sorry for late answer, but I found this very usefull for me and for avoid extra clicks detected by stateChanged (with this you can detect all you want in "click tab"):

myJTabbedPane.addMouseListener(new MouseListener()
{

    @Override
    public void mouseClicked(MouseEvent e) {
        // TODO Auto-generated method stub
        System.out.println("Panel 1 click");
    }

    @Override
    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub

    }

});

Finally, if you want to detect right click on tab you can see next tutorial (search getModifiers() in next page):

https://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html

Upvotes: 0

camickr
camickr

Reputation: 324118

Is there any way for me to add a click event to a JTabbedPane's tab?

Read the section from the Swing tutorial on How to Use TabbedPanes for a working example on how to close a tab with a mouse click.

Keep a link to the tutorial handy for Swing basics.

Upvotes: 1

Related Questions