如何设置JTabbedPane
隐身的部分标签?我尝试使用JTabbedPane#getTabComponentAt(index).setVisible(false);
,但它会抛出NullPointerException
。我可以禁用标签,但不能使它们不可见。
SSCCE:
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTabbedPane;
public class Main {
public static void main(String[] args) {
JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.setPreferredSize(new Dimension(400, 100));
for (int i = 0; i < 7; i++)
tabbedPane.add("tab " + i, new JLabel("content " + i));
// this throws a NullPointerException
tabbedPane.getTabComponentAt(1).setVisible(false);
// this works
tabbedPane.setEnabledAt(1, false);
JFrame frame = new JFrame();
frame.setContentPane(tabbedPane);
frame.pack();
frame.setVisible(true);
}
}
我无法找出我做错了什么。