【问题标题】:Trying to figure out the CardLayout试图弄清楚 CardLayout
【发布时间】:2015-03-07 14:36:26
【问题描述】:

我正在尝试弄清楚如何使用 CardLayout,但我不断收到“CardLayout 的父级错误”等错误。我以前从未使用过 CardLayout,而且我似乎在网上找不到很多东西。我只需要能够在框架上的两个面板之间切换。谢谢你的帮助。这是我当前的代码:

    Frame f = new Frame();
    CardLayout cardL = new CardLayout();
    JPanel cards = new JPanel(cardL);
    f.add(cards);
    StartPanel sp = new StartPanel();
    OtherPanel op = new OtherPanel();
    cards.add(sp, "Start");
    cards.add(op, "Other");

    cardL.show(sp, "Start");

    f.setVisible(true);

【问题讨论】:

标签: java swing jpanel layout-manager cardlayout


【解决方案1】:

改变

cardL.show(sp, "Start");

cardL.show(cards, "Start");

CardLayout API 会告诉你,show(...) 方法的第一个参数应该是对使用 CardLayout 的容器的引用。

还有:

  • 避免混合使用 AWT(框架)和 Swing(JPanel)。而是只使用 Swing。
  • 对 CardLayout 键使用字符串常量最安全。这样可以避免有害的拼写和大写错误。
  • 对于类似的错误,来这里之前先去Java API。解决方案经常在那里找到,并且学习这样做是一个好习惯。

【讨论】:

    猜你喜欢
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 2016-10-04
    • 2020-08-27
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多