选项卡内的TabbedPane更改面板

时间:2013-10-03 01:16:26

标签: java swing user-interface layout-manager jtabbedpane

我正在一个名为Dashboard的类中创建一个tab痛,它包含'填充'选项卡中的面板。我想知道是否有办法创建一个新的仪表板并更改我存储在选项卡中的面板。我不确定这是否是解释它的正确方法,但这里有一些代码。

public class Dashboard{

    public Dashboard(){
         tabPane = new JTabbedPane();
     panel1 = new JPanel();
         panel2 = new JPanel();
         panel3 = new JPanel();
     panel1.add(new JLabel("This is the first panel"));
         panel2.add(new JLabel("This is the second panel"));
         panel3.add(new JLable("This is the third panel"));
         tabPane.add("One", panel1);
         tabPane.add("Two", panel2);
         tabPane.add("Three", panel3);
    }

我现在想创建一个创建仪表板实例的新类,但更改面板中显示的面板。我正在尝试这样的事情:

  public class Changer{
      public Changer(){
         Dashboard d = new Dashboard();
         // assuming I have getters and setters in the above class and that the 
         // panels are fields in Dashboard
         JPanel new = new JPanel();
         d.setPanel1(new);
      }
  }

我不确定这是否可行,或者是否有其他方法可以这样做。

1 个答案:

答案 0 :(得分:1)

获取标签索引

int index = tabPane.indexOfTab("One");

将组件设置为指定的索引

tabPane.setComponentAt(index, new Dashboard());