gpt4 book ai didi

java - JTabbedPane 无法与 JPanel 一起使用

转载 作者:行者123 更新时间:2023-12-02 06:41:42 24 4
gpt4 key购买 nike

为了获得 Java GUI 作业额外的学分,我正在尝试向 JTabbedPane 添加几个面板。实际上,它们是 JFrame,但我只是更改为扩展 JPanel 而不是 JFrame,并删除了 main()。不管怎样,当我运行 main() 时,JTabbedPane 和两个面板都会显示,但是是分开的。我缺少什么?

   import javax.swing.*;

public class TabbedPane extends JFrame
{

JPanel DayGui = new JPanel();
JPanel OfficeAreaCalculator = new JPanel();
JLabel firstLabel = new JLabel("First tabbed pane");
JLabel secondLabel = new JLabel("Second tabbed pane");
JTabbedPane tabbedPane = new JTabbedPane();

// constructor
public TabbedPane()
{
DayGui.add(firstLabel);
OfficeAreaCalculator.add(secondLabel);

tabbedPane.add("First Panel", DayGui);
tabbedPane.add("Second Panel", OfficeAreaCalculator);
add(tabbedPane);

}

public static void main(String[] args)
{
TabbedPane tab = new TabbedPane();
tab.pack();
tab.setVisible(true);
JTabbedPane DayGui = new JTabbedPane();
JTabbedPane OfficeAreaCalculator = new JTabbedPane();
DayGui dg = new DayGui();
OfficeAreaCalculator oac = new OfficeAreaCalculator();
}
}

最佳答案

您正在创建 2 对变量来引用要添加到 JFrame 的组件,但添加指向空白 JPanels 的变量。根据 official tutorial 研究此代码

public class TabbedPaneApp {

private static void createAndShowGUI() {

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JTabbedPane firstPanel = new JTabbedPane();
JTabbedPane secondPanel = new JTabbedPane();

JLabel firstLabel = new JLabel("First tabbed pane");
JLabel secondLabel = new JLabel("Second tabbed pane");

JTabbedPane tabbedPane = new JTabbedPane() {
public Dimension getPreferredSize() {
return new Dimension(500, 400);
};
};

firstPanel.add(firstLabel);
secondPanel.add(secondLabel);

tabbedPane.add("First Panel", firstPanel);
tabbedPane.add("Second Panel", secondPanel);
frame.add(tabbedPane);

frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}

关于java - JTabbedPane 无法与 JPanel 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19083958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com