当打开新的选项卡时,我正在寻找可以在使用选项卡窗格时执行操作的方法。
有点像formwindowopenned
发布于 2017-04-08 14:24:12
当打开新的选项卡时,我正在寻找可以在使用选项卡窗格时执行操作的方法。
我假设您的意思是当用户单击现有选项卡以切换到该选项卡时。如果是这样的话,那么您可以将一个ChangeListener添加到tabbedPane并侦听stateChanged事件。
如果您正在讨论向选项卡窗格添加一个新选项卡,那么您只需在应用程序逻辑中管理这个选项卡。
发布于 2017-04-08 15:49:31
选项卡上的所有操作(这将为您提供额外的操作,不仅仅是鼠标单击,例如,如果您使用选定的索引按代码更改选项卡,则将执行以下代码):
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
}
});
} https://stackoverflow.com/questions/43293581
复制相似问题