Java 创建嵌套选项卡时出现问题
我正在尝试制作一个有一个主选项卡的程序,最终我会添加更多,然后在主选项卡替换的面板中应该有4个选项卡。这是我正在做的一个项目,旨在尝试并教授我自己的java,所以我只想了解一些情况Java 创建嵌套选项卡时出现问题,java,swing,jtabbedpane,Java,Swing,Jtabbedpane,我正在尝试制作一个有一个主选项卡的程序,最终我会添加更多,然后在主选项卡替换的面板中应该有4个选项卡。这是我正在做的一个项目,旨在尝试并教授我自己的java,所以我只想了解一些情况 import javax.swing.*; public class logBook extends JFrame{ public logBook(){ this.setSize(300,300); this.setVisible(true); this.s
import javax.swing.*;
public class logBook extends JFrame{
public logBook(){
this.setSize(300,300);
this.setVisible(true);
this.setLocationRelativeTo(null);
JPanel mainPanel = new JPanel();
JTabbedPane raidSectionsPane = new JTabbedPane();
raidSectionsPane.addTab("Deltascape",mainPanel);
JPanel deltascapePanel = new JPanel();
JTabbedPane deltascapeSections = new JTabbedPane();
deltascapeSections.addTab("V1.0",deltascapeSections);
raidSectionsPane.add(deltascapePanel);
this.add(raidSectionsPane);
}
public static void main(String[] args){
logBook logger = new logBook();
logger.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
基本上我有点迷路了,我猜这是因为我对框架/窗格/面板缺乏了解。
如果我理解正确,框架是所有内容都将位于其中的主容器,而面板是框架中显示程序其他部分的部分。我不知道窗格是什么
但是我不知道如何使选项卡嵌套。首先,我要花更多的时间通读一遍 JTabbedPane仍然只是另一种类型的组件,因此您可以使用addTab方法以与添加任何其他组件相同的方式添加它 不过,我会小心地这样做,因为这可能会让用户在视觉上感到困惑,请参见以下代码:
JPanel mainPanel = new JPanel();
JTabbedPane raidSectionsPane = new JTabbedPane();
raidSectionsPane.addTab("Deltascape", mainPanel);
JPanel deltascapePanel = new JPanel();
JTabbedPane deltascapeSections = new JTabbedPane();
deltascapeSections.addTab("V1.0", deltascapePanel);
mainPanel.add(deltascapeSections);
this.add(raidSectionsPane);
}
您需要将deltascapeSections添加到mainPanel,将mainPanel添加到deltascapeSections
哇,我没想到会这么容易,是的,我会再看一遍。那么,标签的好替代品是什么?也许是一个下拉列表?@jude最终,它会归结到你想要达到的目标
JPanel mainPanel = new JPanel();
JTabbedPane raidSectionsPane = new JTabbedPane();
raidSectionsPane.addTab("Deltascape", mainPanel);
JPanel deltascapePanel = new JPanel();
JTabbedPane deltascapeSections = new JTabbedPane();
deltascapeSections.addTab("V1.0", deltascapePanel);
mainPanel.add(deltascapeSections);
this.add(raidSectionsPane);
}