Всем привет, подскажите правильно ли я подхожу к решению задачи?
Есть левое меню, которое может быть FULLSIZE(текст+иконки+лабуда) и MINISIZE(иконки)
Делаю есть основной класс(контейнер) и вложенные блоки(внутренние классы), в одном из внутренних блоков есть кнопка "Изменить размер".
Псевдокод://Главный класс, контейнер для вложенных блоков
class LeftMenu {
Logo logo;
Menu menu;
LeftMenu context;
//Конструктор
{
this.context = this;
setWidth(200px)
logo = new Logo(); //Блок логотипа
menu = new Menu(); //Само меню
addComponent(logo,menu)
}
void changeSize(){
logo.changeSize();
menu.changeSize()
}
//Внутренние классы
class Logo implement ResizeInterface{
......
Button btnChangeWidth = new Button();
btnChangeWidth.addOnClickListener(e->context.changeSize())//Метод основного класса
@override
void changeSize(){
setWidth(50px)
}
}
class Menu implement ResizeInterface{
......
@override
void changeSize(){
setWidth(50px)
}
}
}