我正在寻找在打开新标签时使用选项卡式窗格时可以执行操作的方法。
像formwindowopenned
答案 0 :(得分:2)
我正在寻找在打开新标签时使用选项卡式窗格时可以执行操作的方法。
我假设您的意思是当用户点击现有标签切换到该标签时。如果是这样,那么您可以向tabbedPane添加ChangeListener
并监听stateChanged
事件。
如果您正在谈论在选项卡式窗格中添加新选项卡,那么您只需在应用程序逻辑中进行管理。
答案 1 :(得分: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
}
});
}