package test;
/*
* TabbedTest.java
*/
import java.awt.*;
import javax.swing.*;
public class TabbedTest extends JFrame {
private JTabbedPane jTabbedPane1;
private JPanel jPanel1;
private JPanel jPanel2;
public TabbedTest() {
super("TabbedTest");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(400, 300);
setLocationRelativeTo(null);
jTabbedPane1 = new JTabbedPane();
jTabbedPane1.setModel(new MySelectionModel());
jPanel1 = new JPanel();
jPanel2 = new JPanel();
jTabbedPane1.addTab("tab1", jPanel1);
jTabbedPane1.addTab("tab2", jPanel2);
getContentPane().add(jTabbedPane1, BorderLayout.CENTER);
}
public static void main(final String args[]) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new TabbedTest().setVisible(true);
}
});
}
class MySelectionModel extends DefaultSingleSelectionModel {
@Override
public void setSelectedIndex(final int index) {
if (getSelectedIndex() < 0) {
super.setSelectedIndex(index);
return;
}
int r = JOptionPane.showConfirmDialog(TabbedTest.this,
"Willst du den aktuellen Reiter verlassen?");
if (r == JOptionPane.YES_OPTION) {
super.setSelectedIndex(index);
}
}
}
}