2017-04-08 47 views
0

我正在寻找一种方式,在每次打开新选项卡时使用选项卡窗格都可以执行操作。JTabbedPane执行的动作

喜欢的东西formwindowopenned

回答

2

进出口寻找在那里可以同时使用,每当新标签打开一个标签式窗格中执行的操作方式。

我假设你的意思是当用户点击现有的选项卡切换到该选项卡。如果是这样,那么您可以将ChangeListener添加到tabbedPane并监听stateChanged事件。

如果您正在讨论将新选项卡添加到选项卡式窗格,那么您只需在应用程序逻辑中管理它。

0

上的标签所有操作(这将让你额外的行动,不仅鼠标点击,例如,如果您使用的是选择指数代码更改标签,该代码就会被执行):

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); 

只有鼠标点击选项卡

/** 
* 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 

    } 

    }); 
} 
+0

选项卡可以在其他方面则只是用改性一切行动鼠标 – MadProgrammer

+0

也被激活:d – Dani