Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更新选项卡内容之后';已经初始化了_Java_Swing_Jtabbedpane - Fatal编程技术网

Java 更新选项卡内容之后';已经初始化了

Java 更新选项卡内容之后';已经初始化了,java,swing,jtabbedpane,Java,Swing,Jtabbedpane,我在主窗口中初始化了一个名为Status的选项卡,如下所示: private static void setupTabbedPane ( JTabbedPane tabbedPane ) { //Create tab related components status = new Summary(); // Create tabs tabbedPane.addTab ("Status", new WebScrollPane(status.summaryPage)

我在主窗口中初始化了一个名为Status的选项卡,如下所示:

private static void setupTabbedPane ( JTabbedPane tabbedPane )
{
    //Create tab related components
    status = new Summary();

    // Create tabs
    tabbedPane.addTab ("Status", new WebScrollPane(status.summaryPage));
    tabbedPane.setBackgroundAt(0, Color.DARK_GRAY);
    tabbedPane.setForegroundAt(0, Color.BLACK);
}
它添加了一个简单的JPanel摘要页面。我添加了一个功能,当用户右键单击时,他们可以启动一个缩小窗口(新JFrame),其中包含摘要页面中的内容,现在我尝试在用户关闭他们启动的小窗口时将摘要页面放回状态选项卡中。以下是我所拥有的:

public class MiniSmryWindow {
public JFrame frame;

public MiniSmryWindow() {
    // Initialize Mini Window
    frame = new JFrame("Status");
    frame.setLayout(new BorderLayout());
    frame.setSize(200, 300);
    frame.setLocationRelativeTo(null);
    frame.add(BootWindow.status.summaryPage);
    frame.setVisible(true);

    frame.addWindowListener(new java.awt.event.WindowAdapter() {
        @Override
        public void windowClosing(java.awt.event.WindowEvent windowEvent) {

            System.out.println("Closing mini window");
            BootWindow.tabbedPane.setTabComponentAt(0, BootWindow.status.summaryPage);
        }
    });
}
现在添加组件时,选项卡标题不在选项卡的面板内,如何修复此问题

现在,在选项卡标题不在其中的位置添加组件 选项卡的面板,如何修复此问题

是的,这是方法的预期行为:

“设置负责呈现文档标题的组件 指定的选项卡。空值表示JTabbedPane将呈现标题 和/或指定选项卡的图标。非空值表示 组件将呈现标题,而JTabbedPane将不呈现标题 标题和/或图标。”

你应该改用

在给定索引处为给定组件插入新选项卡, 由给定标题和/或图标表示,其中任何一个都可以是 空。”

例如:

BootWindow.tabbedPane.insertTab("title", null, BootWindow.status.summaryPage, "tool tip", 0);
注意:由于选项卡式窗格已经显示,因此可能应该在插入选项卡后重新验证并重新绘制(尽管未测试):


谢谢你的帮助@dic19
BootWindow.tabbedPane.insertTab("title", null, BootWindow.status.summaryPage, "tool tip", 0);
BootWindow.tabbedPane.revalidate();
BootWindow.tabbedPane.repaint();