У меня бизнес логика перемешена с UI. Как отделить бизнес логику в отдельный класс, экземпляр которого может генерировать значения больше и меньше заданного. Т.е. нужно выделить из всего этого класс, у которого есть метод генерации больше и генерации меньше значений. И в принципе всё, в этом классе больше ничего не должно быть.
public class Interface extends JFrame {
int myEnter;
private JButton generateMore = new JButton("Генерировать больше");
private JButton generateLess = new JButton("Генерировать меньше");
private JTextField inputText = new JTextField("", 5);
private JLabel showIcon1 = new JLabel("254");
private JLabel showIcon2 = new JLabel("125");
private JLabel showIcon0 = new JLabel("");
public Interface() {
super("Lab1_GUI");
this.setBounds(100, 100, 400, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container container = this.getContentPane();
container.setLayout(new GridLayout(3, 10, 10, 10));
container.add(inputText);
container.add(showIcon0);
generateMore.addActionListener(event -> {
myEnter = Integer.parseInt(inputText.getText());
showIcon1.setText(String.valueOf(ThreadLocalRandom.current().nextInt(myEnter, 1000)));
});
container.add(generateMore);
container.add(showIcon1);
generateLess.addActionListener(event -> {
myEnter = Integer.parseInt(inputText.getText());
showIcon2.setText(String.valueOf(ThreadLocalRandom.current().nextInt(myEnter)));
});
container.add(generateLess);
container.add(showIcon2);
}
}
Я думаю вам стоит почитать про такие паттерны как MVP, MVC, MVVM. Это очень объемная тема для того чтоб ее расписывать здесь. И она требует опыта и понимания.
Про MVP можно почитать здесь: https://startandroid.ru/ru/blog/493-mvp-dlja-nachinajuschih-bez-bibliotek-i-interfejsov.html
MVC:
https://medium.com/upday-devs/android-architecture-patterns-part-1-model-view-controller-3baecef5f2b6
MVVM:
https://medium.com/@nyavorskii/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-android-architecture-components-%D0%B8-mvvm-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-29654672f4ab
Продвижение своими сайтами как стратегия роста и независимости