У меня есть представление с вкладками в моей программе, и под каждой вкладкой у меня есть несколько панелей, между которыми я вращаюсь с помощью кнопок. Я решил реализовать CardLayout для каждой из этих вкладок, и учитывая, что у меня есть около 7 вкладок, я решил написать класс, чтобы сделать вещи немного лучше. Класс называется PanelSystem, он принимает JPanels, которые уже были созданы, и добавляет их в CardLayout. Я также буду реализовывать метод switchPanel для перемещения между панелями. Пока что у меня есть:
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*);
}
}
Поскольку для каждой вкладки существует разное количество JPanels, мне пришлось реализовать строку панелей JPanels .... Я не уверен, что это работает правильно, но проблема возникает в конце конструктора, где я пытаюсь показать первую карту, так как у нее нет уникального идентификатора из-за способа, которым я их добавил. Любые мысли о том, как я мог это исправить ?? Заранее спасибо, ребята!