如何在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(); } }); } }
以下是上面代码片段的屏幕截图结果: