如何在JTabbedPane中禁用或启用选项卡?
要启用或禁用中的标签,JTabbedPane可以使用JTabbedPane的setEnableAt(intindex,booleanenable)方法。从index0开始,这表示第一个标签位于索引编号0。在enable设置参数时true,同时设置将使该选项卡false将禁用选项卡。
package org.nhooo.example.swing;
import javax.swing.*;
import java.awt.*;
public class TabbedPaneEnableDisableTab extends JPanel {
public TabbedPaneEnableDisableTab() { initializeUI();
}
private void initializeUI() {
JTabbedPane pane = new JTabbedPane();
pane.addTab("Tabs A", new JPanel());
pane.addTab("Tabs B", new JPanel());
pane.addTab("Tabs C", new JPanel());
pane.addTab("Tabs D", new JPanel());
//禁用第一个标签
pane.setEnabledAt(0, false);
// Disable the last tab, the pane.getTabCount() return the
//JTabbedPane中的标签数。因为索引
//从0开始,我们需要将计数减去1。
pane.setEnabledAt(pane.getTabCount() - 1, false);
this.setLayout(new BorderLayout());
this.setPreferredSize(new Dimension(500, 200));
this.add(pane, BorderLayout.CENTER);
}
public static void showFrame() {
JPanel panel = new TabbedPaneEnableDisableTab(); panel.setOpaque(true);
JFrame frame = new JFrame("JTabbedPane Demo");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setContentPane(panel); frame.pack(); frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() { TabbedPaneEnableDisableTab.showFrame();
}
});
}
}以下是上面代码片段的屏幕截图结果: