JtabbedPane 允许你创建“页签式的对话框”,它能沿着窗体的一条边放置类似文件夹上
的页签,你所要做的只是在页签上单击,用以向前进入到另一个不同的对话框中。
//:c14:TabbedPane1.java
// Demonstratesthe Tabbed Pane.
// <appletcode=TabbedPane1 width=350 height=200></applet>
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import com.bruceeckel.swing.*;
public class TabbedPane1 extends JApplet {
private String[] flavors = {
"Chocolate", "Strawberry", "Vanilla Fudge Swirl",
"Mint Chip", "Mocha Almond Fudge", "Rum Raisin",
"Praline Cream", "Mud Pie"
};
private JTabbedPane tabs = new JTabbedPane();
private JTextField txt = new JTextField(20);
public void init() {
for(int i = 0; i < flavors.length; i++)
tabs.addTab(flavors[i],
new JButton("Tabbed pane " + i));
tabs.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
txt.setText("Tab selected: " +
tabs.getSelectedIndex());
}
});
Container cp = getContentPane();
cp.add(BorderLayout.SOUTH, txt);
cp.add(tabs);
}
public static void main(String[] args) {
Console.run(new TabbedPane1(), 350, 200);
}
} ///:~
在Java中,使用某种形式的“标签面板”机制是非常重要的。因为在applet编程中,使用
弹出式对话框是会被劝阻的,这种劝阻体现为对在applet中弹出的任何对话框都会添加一
条小小的警告。
在运行程序的时候你可以观察到,如果页签太多,以至于在一行中放不下它们的时候,
JTabbedPane能够自动把页签叠起来。如果是在命令行方式下运行该程序,你可以通过调
整窗口大小来进行观察。