Допустим у меня есть класс кнопки, которая получает все пути к файлам в папке и сортирует их, а другая кнопка выводит на экран имена файлов. В классе с первой кнопкой у меня объявлен ArrayList с путями файлов, как мне этот ArrayList передать но второй класс кнопки?
класс кнопки который что то сортирует, другой класс кнопки что то выводит .....если эффективно то переписать этот ужас.
Кнопка это кнопка, она не должна все это делать, вы можете навесить на нее слушателя и отловить событие, а вот по этому событию что то делать.
Логика и ui должны быть максимально слабо связаны.
по классике юзер инетфейс (кнопки) -> ничего не делают, только генерируют события, которые потом обрабатываются разного рода рабочими (которые сортируют или еще что), и возвращают куда-нибудь результат.
такая модель доказала свою эффективность и повсеместно используется.