0
我在我的程序中有一个选项卡式视图,在每个选项卡下我有几个使用按钮旋转的面板。我已经决定为这些标签中的每一个实现一个CardLayout,并且由于我有大约7个标签,我决定编写一个类来让事情更简洁。该类被称为PanelSystem,它接收已经创建的JPanel并将它们添加到CardLayout。我还将实现一个switchPanel方法在面板之间移动。到目前为止,我有:为我的程序编写用于创建CardLayouts的Java类
public class PanelSystem {
JPanel cards;
CardLayout cl;
public PanelSystem(JPanel...panels) {
// Create Panel with card layout
cards = new JPanel(new CardLayout());
// Add all the panels to the card system
for (JPanel p : panels) cards.add(p);
// Gains access to the card layout?
cl = (CardLayout)(cards.getLayout());
// Show starting card
cl.show(cards, *UNIQUE IDENTIFIER*);
}
}
由于每个选项卡有不同数量的JPanel我必须实现JPanels ...面板行。我不确定这是否正常工作,但问题出现在我试图展示第一张卡片的构造函数的最后,因为它没有唯一的标识符,因为我添加了它们。任何想法如何我可以解决这个问题?在此先感谢你们!
感谢您的洞察安德鲁!我不知道它是如何工作的。所以如果我这样做: public PanelSystem(JPanel ... panels,String ... names) 我会得到2个名为面板和名称的数组。这一点将是指定一个面板后跟一个字符串标识符 - 这会工作吗? – user1058210 2011-12-30 16:15:03
不幸的是:只有最后一个参数可以是可变参数(否则编译器将无法确定一个完成和另一个开始的位置,我猜) – 2011-12-30 16:17:06
ahh我明白了。你给我指了路,唯一潜在的问题是,它可能很难知道电话号码是指什么面板 – user1058210 2011-12-30 16:21:36