Beroo
Beroo

Reputation: 29

JTabbedPane action performed

Im looking for way where an action can be performed while using a tabbed pane whenever new tab is opened.

Something like formwindowopenned

Upvotes: 0

Views: 1269

Answers (2)

Dani
Dani

Reputation: 2036

All actions on tabs (this will get you extra actions, not only mouse clicks, for example, if you change tab by code using selected index, this code will be executed):

ChangeListener changeListener = new ChangeListener() {
  public void stateChanged(ChangeEvent changeEvent) {
    JTabbedPane sourceTabbedPane = (JTabbedPane) changeEvent.getSource();
    int index = sourceTabbedPane.getSelectedIndex();
    System.out.println("Tab changed to: " + sourceTabbedPane.getTitleAt(index));
  }
};
myJTabbedPanel.addChangeListener(changeListener);

Only mouse clicks on tabs:

/** 
 * Detects clicks when user click tab inside tabbed pane 
 */ 
private void addMouseEventToPanel(){ 
  this.myJTabbedPanel.addMouseListener(new MouseListener() 
  { 

    @Override 
    public void mouseClicked(MouseEvent e) { 
      // TODO Auto-generated method stub 
      System.out.println("You clicked on tab number "+this.myJTabbedPanel.getSelectedIndex()); 
    } 

    @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 

    } 

  });
} 

Upvotes: 0

camickr
camickr

Reputation: 324128

Im looking for way where an action can be performed while using a tabbed pane whenever new tab is opened.

I assume you mean when a user clicks on an existing tab to switch to that tab. If so, then you can add a ChangeListener to the tabbedPane and listen for the stateChanged event.

If you are talking about adding a new tab to the tabbed pane, then you would just manage that in your application logic.

Upvotes: 2

Related Questions