У меня тоже когда-то были такие вопросы и это говорит об отсутствии умения программировать полноценные программы, а не плохое понимание языка.
Язык Вы можете знать от компилятора, до самого последнего новшества, а вот
собрать простенькое приложение не получается. Нет чувства полноценности и законченности проекта. И я тоже спрашивал и думал, что мне такое написать и
так же как и Вы получал ответы, типа - ничего Вы не знаете, я вот так не делал и считаю всех не как я, не такими. Не обращайте внимание на это, программисты тоже бывают отстойными гундосами.
И вот я значит так и не получив ответ пошел копать фраймворки.
Перерыл их очень много, получил много знаний, но самое главное я смог найти ответ на мой и Ваш ответ - напишите компоненты. Компоненты, это самое сложное что есть в программировании и является лучшим примером и учителем ооп. Все компоненты делать не нужно, а вот меню, выпадающее, это самое оно.