Я пытаюсь разработать диспетчер персонажей LARP, и у меня есть внутри кадра, панель, содержащая все окна, которые я хочу поменять, используя CardLayout. Вот мой код для контейнерпана. < /P>
public class ContainerPane extends JPanel {
private static final long serialVersionUID = -4799973935806714569L;
private JPanel deckOfPanes = null;
private PlayerManagerPane myPlayerManagerPane = null;
private GameManagerPane myGameManagerPane= null;
private CharacterManagerPane myCharacterManagerPane = null;
final static String CHANGETOCHARACTERMANAGERPANE = "Character Manager";
final static String CHANGETOPLAYERMANAGERPANE = "Player Manager";
final static String CHANGETOGAMEMANAGERPANE = "Game Manager";
public ContainerPane(EventListener myEventListener) {
myPlayerManagerPane = new PlayerManagerPane(myEventListener);
myGameManagerPane = new GameManagerPane(myEventListener);
myCharacterManagerPane = new CharacterManagerPane(myEventListener);
deckOfPanes= new JPanel(new CardLayout());
deckOfPanes.add(myCharacterManagerPane,CHANGETOCHARACTERMANAGERPANE);
deckOfPanes.add(myPlayerManagerPane,CHANGETOPLAYERMANAGERPANE);
deckOfPanes.add(myGameManagerPane,CHANGETOGAMEMANAGERPANE);
CardLayout cardLayout = (CardLayout) ((ContainerPane) this).getDeckOfPanes().getLayout();
cardLayout.show(deckOfPanes,CHANGETOCHARACTERMANAGERPANE);
}
public JPanel getDeckOfPanes() {
return deckOfPanes;
}
< /code>
Чтобы начать, я думаю, что окончательная строка конструктора гарантирует, что, когда она называется, отображает определенную карту сверху. Вот код из моего класса EventHandler: < /p>
public void swapView(String key) {
CardLayout cardLayout = (CardLayout) ((ContainerPane) myContainerPane).getDeckOfPanes().getLayout();
cardLayout.show(myContainerPane.getDeckOfPanes(),key);
}
< /code>
Это тоже не работает. Я только начинаю Java, и я бы очень признателен за любую помощь с этим, я проверяю учебные пособия и в других местах в Интернете (включая переполнение стека), и из того, что я вижу, это должно работать. Пожалуйста, будет оценена любая помощь.
Подробнее здесь: https://stackoverflow.com/questions/115 ... ut-to-work