Я нахожусь в процессе создания простой программы java swing, которая позволит пользователю играть в блэкджек. У меня есть 10-15 классов, которые представляют 1 "экран" в программе, каждый из них расширяет JLayeredPane и реализует прослушиватель действий. У меня также есть другие классы для колоды, карты, раунда, игрока и т. Д.Как динамически перерисовывать JPanels в JFrame?
Тогда в другом классе есть два свойства: массив arra (который содержит все панели) и Jframe one (к которому все панели будут идти) , с общедоступным статическим недействительным.
Затем в том же классе я сделать две вещи, метод, который заменяет панели:
public void screenInit(int i)
{
one.setContentPane(arra[i-1]);
one.invalidate();
one.validate();
one.repaint();
}
Затем я создаю объект этого класса в PSVM и начать ввод в первой панели.
Итак, мой вопрос заключается в том, что первая панель вверху, которая имеет прослушиватель действий, прикрепленный к JButton, как он обращается к JFrame, созданному в классе, содержащем JFrame и массиве, поэтому он может использовать вышеописанный метод. Прямо сейчас, мне нужно создавать новый кадр каждый раз, поэтому он строится на вершине друг друга?
Если это невозможно, как мне организовать свои классы таким образом, чтобы несколько кнопок с каждой панели приводили друг к другу?
Благодаря