Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 14.02.2021
Сообщений: 11

Как подружить файл с программой и файл с GUI на Java?

15.02.2021, 11:36. Показов 1454. Ответов 1

Студворк — интернет-сервис помощи студентам
Вопрос в следующем, уважаемые знатоки: есть файл с алгоритмом, состоящим из if/else, который естественно требует от пользователя ввода через (java.util.Scanner) параметра if в виде boolean true или false в консоли. И есть второй файл с GUI,в котором в Jframe создано окно, в котором есть две кнопки (одна true, вторая false). Собственно вопрос: как переделать файл с кодом так, чтобы переменная, которой сейчас присваивается значение из консоли, присваивала бы его из файла с GUI по нажатию Jbutton1 или JButton2? Нутром чую, что нужно что-то мутить со слушателем кнопки и геттерами и сеттерами, но в силу еще небольших познаний в Java разобраться не могу. Буду всем очень благодарен за советы, т.к. изучаю Java сам и спросить больше не у кого.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package copy.AlgoritmOtboraMonetPoITK1;
 
 
import javax.swing.*;
import java.util.Scanner;
 
public class Man {
 
 
    
    public static Scanner in = new Scanner(System.in);
 
    public static void main(String[] args) {
 
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new Main();
            }
        });
 
 
        boolean answer1;
        System.out.println("Гроздь №2 имеет форму прямоугольного треугольника? ");
        answer1 = in.nextBoolean();
 
       
 
        if (answer1 == true) {
            System.out.println("Это разновидность АА");
        } else {
            System.out.println("Гроздь №2 имеет форму тупоугольного треугольника, " + "\n" +
                    "в грозди №5 черенок подходит к первой ягоде слева?");
            answer1 = in.nextBoolean();
            if (answer1 == true) {
                System.out.println("Размер изображения меньше (венок отдален от канта)?");
                answer1 = in.nextBoolean();
                if (answer1 == true) {
                    System.out.println("Это разновидность ЕА");
                } else {
                    System.out.println("Это разновидность ЕБ");
                }
 
 
            } else {
                System.out.println("В грозди №5 крайняя правая ягода посредине буквы П?");
                answer1 = in.nextBoolean();
                if (answer1 == true) {
                    System.out.println("В 4 и 8 гроздьях есть черенки?");
                    answer1 = in.nextBoolean();
                    if (answer1 == true) {
                        System.out.println("Это разновидность ВА");
                    } else {
                        System.out.println("Это разновидность ГА");
                    }
                } else {
                    System.out.println("У монеты есть кант?");
                    answer1 = in.nextBoolean();
                    if (answer1 == true) {
                        System.out.println("Ягоды большие и слипаются?");
                        answer1 = in.nextBoolean();
                        if (answer1 == true) {
                            System.out.println("Это разновидность ДА");
                        } else {
                            System.out.println(" В гроздьях 7 и 8 черенки подходят к ягодам?");
                            answer1 = in.nextBoolean();
                            if (answer1 == true) {
                                System.out.println("Это разновидность БА");
                            } else {
                                System.out.println("Правый отросток листа между гроздьями №1 и №2" + "" +
                                        "\n" + "широкий?");
                                answer1 = in.nextBoolean();
                                if (answer1 == true) {
                                    System.out.println("Это разновидность ББ");
                                } else {
                                    System.out.println("Это разновидность БВ");
                                }
 
 
                            }
 
                        }
 
 
                    } else {
                        System.out.println("Это разновидность ДВ");
                    }
                }
 
            }
        }
    }
 
}

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package copy.AlgoritmOtboraMonetPoITK1;
 
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.Console;
 
public class Main implements ActionListener {
 
    public Main() {
 
        initComponents();
    }
 
    private JFrame viewForm;
 
    private void initComponents() {
        viewForm = new JFrame("Помощник");
        viewForm.setSize(600, 600);
        viewForm.setVisible(true);
        viewForm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        JLabel L_pic= new JLabel();
        L_pic.setIcon(new ImageIcon("C:\\123.jpg"));
        L_pic.setVisible(true);
        L_pic.setLocation(172,150);
        L_pic.setSize(200,200);
        viewForm.getContentPane().add(L_pic);
        viewForm.getContentPane().add(new JLabel());
 
        JLabel field = new JLabel("Отбор монет 25 копеек по разновидностям");
        field.setVisible(true);
        field.setLocation(150, 10);
        field.setSize(300,20);
        viewForm.getContentPane().add(field);
        viewForm.getContentPane().add(new JLabel());
 
 
 
        JButton button = new JButton("Yes");
        button.setVisible(true);
        button.setLocation(150, 500);
        button.setSize(100, 30);
 
        button.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent e) {
 
                //Что здесь написать никак не пойму...
 
 
                System.out.println(false);
 
            }
 
 
        });
        viewForm.getContentPane().add(button);
        viewForm.getContentPane().add(new JLabel());
 
 
 
 
        JButton button1 = new JButton("No");
        button1.setVisible(true);
        button1.setLocation(300, 500);
        button1.setSize(100, 30);
 
        button1.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent e) {
//Что здесь написать никак не пойму...
 
                }
 
        });
        viewForm.getContentPane().add(button1);
        viewForm.getContentPane().add(new JLabel());
 
 
 
 
 
            };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    @Override
    public void actionPerformed(ActionEvent e) {
 
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.02.2021, 11:36
Ответы с готовыми решениями:

Как декомпилировать .class файл обратно в .java файл?
Как декомпилировать .class файл обратно в .java файл?

Как удалить файл программой
Если можно приведите пример программы.

Как удалить файл программой
Нужно написать программу, которая будет искать в указанной папке файл с названием *cookies*.* (то есть все файлы которые имеют...

1
 Аватар для vvm28
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
22.02.2021, 13:34
Зачем вы такую "лапшу" написали из иф ельзов?
Что вам непонятно?
Вам нужно связать обработчики событий с логикой.
Происходит какое-то событие, вы создаете слушатель события.

Само событие относится, например к нажатию какой-то кнопкой мышки по кнопке вашего интерфейса.
Посмотрите тему: модель событий в вашем случае в swing.

Желательно продумать некоторую архитектуру вашего приложения, с понятной структурой.
Это нужно, чтобы отделить логику от UI.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.02.2021, 13:34
Помогаю со студенческими работами здесь

Как программно сопоставить файл с программой.
Есть программа, которая создает файл с собственным расширением .ХХХ. Как можно сделать так, чтобы при двойном нажатии на файле *.ХХХ...

Как сохранить файл в папку с программой?
Всем доброго времени суток! У меня есть вопрос. Как нужно изменить код, чтобы программа сама сохраняла файл в свою папку и давала ему имя? ...

Как открыть файл программой по умолчанию
Нужно по нажатию на кнопку сразу открыть файл word.docx , без появления OpenFileDialog1

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

Как открыть файл из папки с программой?
Здравствуйте, как правильно указать путь, чтобы файл открылся из папки с программой? Пробовал '\Карты\Учебник\Высшая математика.doc' и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru