gui选项卡式窗格 - 如何将内部类放入选项卡式窗格

时间:2012-08-23 11:38:09

标签: java user-interface

这是一个家庭作业,目前仍然坚持如何将内部类放入我的标签窗格。

目前我的主页面是标签窗格,用户将根据窗格选择该窗格。

下面是我的选项卡式窗格类,下面是我的门票类。 目前我在Ticket()类中创建了一个名为Booking()的内部类。 现在的问题是如何在我的选项卡式窗格类

中调用和使用它

门票t1 =新预订()

tp.addTab(“Booking”,t1.Booking());

我在代码中添加了这两个代码,但是它给出了我的错误。所以我的问题是如何使用Ticket类中的内部类(Booking())并在我的选项卡式窗格中使用它。

import javax.swing.*;
import javax.swing.*;
import java.awt.*;

public class tabbedThemePark{

    public static void main(String[] args){

    JFrame frame = new JFrame("RR THEME PARK");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JTabbedPane tp = new JTabbedPane();

    tp.addTab("Intro",new IntroPanel());
    tp.addTab("Tickets",new Tickets());
    Tickets t1 = new Booking();
    tp.addTab("Booking", t1.Booking());

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

 }

这是我的门票类

public class Tickets extends JPanel
{
  public Tickets()
  {
      //coding
  }

  public class Booking
  {
     public Booking()
     {
      //coding
     }
  }
}

1 个答案:

答案 0 :(得分:1)

该行

Tickets t1 = new Booking();

没有意义,因为Booking不是Tickets子类,而是内部类。您首先需要创建一个Tickets实例,然后在其中创建一个新的Booking实例。

喜欢这样

Tickets t1 = new Tickets();
tp.addTab("Booking", t1.new Booking());

有关Nested Classes的帮助,请参阅此处。