package jdepend.client.ui.result.framework;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import jdepend.framework.util.BundleUtil;
import jdepend.client.ui.JDependCooper;
import jdepend.client.ui.framework.CooperTabbedPane;
public class ResultTab extends CooperTabbedPane {
private JPopupMenu popupMenu;
public ResultTab(JDependCooper frame) {
super(frame, true, true, CooperTabbedPane.Workspace);
this.popupMenu = new JPopupMenu();
JMenuItem closeItem = new JMenuItem(BundleUtil.getString(BundleUtil.Command_Close));
closeItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
closeSelf(e);
}
});
popupMenu.add(closeItem);
JMenuItem closeOthersItem = new JMenuItem("关闭其它");
closeOthersItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
closeOthers();
}
});
popupMenu.add(closeOthersItem);
JMenuItem closeAllItem = new JMenuItem("关闭所有");
closeAllItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
closeAll();
}
});
popupMenu.add(closeAllItem);
}
private void closeOthers() {
String title = this.getTitleAt(this.getSelectedIndex());
Component component = this.getComponentAt(this.getSelectedIndex());
this.removeAll();
addTab(title, component);
}
private void closeAll() {
this.removeAll();
}
private void closeSelf(ActionEvent e) {
int tabNumber = this.getSelectedIndex();
if (tabNumber < 0)
return;
this.removeTabAt(tabNumber);
}
public void mouseClicked(MouseEvent e) {
super.mouseClicked(e);
ResultTab tab = (ResultTab) e.getSource();
if (e.getButton() == 3) {
popupMenu.show(tab, e.getX(), e.getY());
}
}
}