动态添加选项卡到 JTabbedPane
Dynamically adding tabs to JTabbedPane
在我的主程序中,我循环遍历每个 League
,如下所示:
for (League l : t.getLeagues()) {
LeaguePanel leaguePanel = new LeaguePanel(l);
roundTabs.addTab(l.getName(), leaguePanel);
}
这应该会创建一个 JPanel
并将其添加到选项卡。
public class LeaguePanel extends JPanel {
private League league;
private JComboBox roundComboBox;
LeaguePanel(League l) {
league = l;
JPanel leagePanel = new JPanel();
leagePanel.add(new JLabel("Tournament Information"));
}
但是,选项卡已创建,但其中未显示任何内容
知道为什么吗?
您想向 LeaguePanel
对象添加内容,而不是向新的 JPanel
对象添加内容:
JPanel leagePanel = new JPanel();
leagePanel.add(new JLabel("Tournament Information"));
变成
this.add(new JLabel("Tournament Information"));
因为添加到选项卡式窗格的是您的LeaguePanel
。
在我的主程序中,我循环遍历每个 League
,如下所示:
for (League l : t.getLeagues()) {
LeaguePanel leaguePanel = new LeaguePanel(l);
roundTabs.addTab(l.getName(), leaguePanel);
}
这应该会创建一个 JPanel
并将其添加到选项卡。
public class LeaguePanel extends JPanel {
private League league;
private JComboBox roundComboBox;
LeaguePanel(League l) {
league = l;
JPanel leagePanel = new JPanel();
leagePanel.add(new JLabel("Tournament Information"));
}
但是,选项卡已创建,但其中未显示任何内容
知道为什么吗?
您想向 LeaguePanel
对象添加内容,而不是向新的 JPanel
对象添加内容:
JPanel leagePanel = new JPanel();
leagePanel.add(new JLabel("Tournament Information"));
变成
this.add(new JLabel("Tournament Information"));
因为添加到选项卡式窗格的是您的LeaguePanel
。