Форум программистов, компьютерный форум, киберфорум
Java: GUI, Графика
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 13.12.2020
Сообщений: 1
1

Не работает нужным образом оконное приложение

13.12.2020, 23:49. Просмотров 1547. Ответов 0
Метки нет (Все метки)

Была простая программа, которую нужно было переделать под оконный интерфейс. Делаю - делаю, и все никак не работает. Последним достижением было то, что я заметил, что в цикле j<n а n ничему не равно и поэтому программа выводит студента с данными null, однако если сделать этот цикл не до n а до какого-то числа, то начинаются ошибки. Прошу помощи.

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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
package StudentGroup;
 
import java.util.*;
 
public class Student {
    private String fio, adress, fakulty;
    private int kurs;
 
    Student(String fio, String adress, String fakulty, int kurs){
        this.fio=fio;
        this.adress=adress;
        this.fakulty=fakulty;
        this.kurs=kurs;
    }
    String getFio(){return fio;}
    String getAdress(){return adress;}
    String getFakulty(){return fakulty;}
    int getKurs(){return kurs;}
 
    void print(){
            System.out.println("Студент " + this.fio + "\n Адрес " + this.adress + "\n Факультет " + this.fakulty +
                    "\n Курс " + this.kurs);
    }
 
    public String toString(){
        return "Студент " + fio + "\n Адрес " + adress + "\n Факультет " + fakulty +
                "\n Курс " + kurs + "\n";
    }
 
 
}
package StudentGroup;
 
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class StudentGroup {
    ArrayList<Student> a;
 
    StudentGroup(){
        a = new ArrayList<Student>();
    }
 
    void add (Student s){
        a.add(s);
    }
 
    void del (String fio){
        int p=-1;
        for(int i=0; i<a.size(); i++){
            if(fio.equalsIgnoreCase(a.get(i).getFio())) p=i;
        }
        if(p>-1){
            a.remove(p);
            System.out.println("Студент " + fio + " удален");
        }
        else System.out.println("Студента с фамилией " + fio + " нет!");
    }
 
    void print(){
        for(int i=0; i<a.size(); i++){
            String message = "";
            message += a.get(i).toString();
            JOptionPane.showMessageDialog(null, message, "Output", JOptionPane.PLAIN_MESSAGE);
 
        }
    }
 
}
 
package StudentGroup;
 
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class main extends JFrame{
    JButton button1 = new JButton("Отправить");
    JButton button2 = new JButton("Добавить");
    JButton button3 = new JButton("Отправить");
    //JLabel label1 = new JLabel("Введите кoл-во студентов: ");
    //JTextField input1 = new JTextField("", 5);
    JLabel label2 = new JLabel("Введите фамилию ");
    JTextField input2 = new JTextField("", 5);
    JLabel label3 = new JLabel("Введите адрес ");
    JTextField input3 = new JTextField("", 5);
    JLabel label4 = new JLabel("Введите факультет ");
    JTextField input4 = new JTextField("", 5);
    JLabel label5 = new JLabel("Введите курс ");
    JTextField input5 = new JTextField("", 5);
    JLabel label6 = new JLabel("Кого удалить?");
    JTextField input6 = new JTextField("", 5);
    JLabel label7 = new JLabel("");
 
    int n;
    StudentGroup sg = new StudentGroup();
    String f, ad, fak;
    int k;
 
    public main(){
        super("Test");
        this.setBounds(100, 100, 500, 500);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container container = this.getContentPane();
        container.setLayout(new GridLayout(10, 10, 10, 10));
 
        Scanner sc = new Scanner(System.in);
        //StudentGroup sg = new StudentGroup();
 
        //container.add(label1);
        //container.add(input1);
        ///button1.addActionListener(new ButtonEvent1());
        //container.add(button1);
 
        //container.add(label7);
 
        container.add(label2);
        container.add(input2);
 
        container.add(label3);
        container.add(input3);
 
        container.add(label4);
        container.add(input4);
 
        container.add(label5);
        container.add(input5);
 
        for (int j = 0; j < n; j++){
            String f1 = input2.getText();
            f = String.valueOf(f1);
            ad = input3.getText();
            fak = input4.getText();
            String k2 = input5.getText();
            k = Integer.parseInt(k2);
        }
 
        //int k = Integer.parseInt(k2);
 
        //Student st = new Student(f, ad, fak, k);
        //sg.add(st);
 
        //q = sc.nextLine();
 
        button2.addActionListener(new ButtonEvent2());
        container.add(button2);
        button3.addActionListener(new ButtonEvent3());
        container.add(button3);
 
 
 
        //container.add(label6);
        //String f = sc.nextLine();
        //container.add(input6);
        //sg.del(f);
        sg.print();
 
 
    }
 
    class ButtonEvent1 implements ActionListener {
        public void actionPerformed(ActionEvent e) {
           // String s = input1.getText();
            //n = Integer.parseInt(s);
        }
    }
 
 
    class ButtonEvent2 implements ActionListener{
        public void actionPerformed(ActionEvent e){
            Student st = new Student(f, ad, fak, k);
            sg.add(st);
        }
    }
 
    class ButtonEvent3 implements ActionListener{
        public void actionPerformed(ActionEvent e){
            sg.print();
        }
    }
 
}
 
package StudentGroup;
 
public class Test {
    public static void main(String[] args) {
        main app = new main();
        app.setVisible(true);
    }
}
Добавлено через 2 минуты
а ну вот еще ошибка при j<5 например

Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatE xception.java:68)
at java.base/java.lang.Integer.parseInt(Integer.java:662)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at StudentGroup.main.<init>(main.java:66)
at StudentGroup.Test.main(Test.java:5)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2020, 23:49
Ответы с готовыми решениями:

Не работает нужным образом (if) и (else)
Здравствуйте, у меня проблема в форме в этой части кода не работает нужным образом именно (if) и...

Unity3d Не работает отображение текста нужным образом
Приветствую, &quot;Киберфорумяне&quot;, занимаюсь разработкой модификаций и плагинов к игре Unturned, которая...

Настроить оконное приложение для корректного переключения из полноэкранного в оконное
На этом форуме нашел пример как переключать оконное приложение в полноэкранное и обратно....

Контент не выстраивается нужным образом
Добрый вечер. Делал секцию и запутался с дивами, вроде бы везде правильно закрыл, но пишет что у...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2020, 23:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как выстроить контент нужным образом?
Перепробовал все свойства флекса, но не могу поставить параграфы в 2 ряда по 3 штуки ...

Не получается считать с XML нужным образом
Здравствуйте. У меня есть XML документ. Пытаюсь считать в C#. Вот кусок кода XML: &lt;BranchInfo&gt;...

Считать строку из файла и обработать её нужным образом
Дан текстовый файл, содержащий строки вида: 1 : ошибка в простом типе 2 : должно идти имя ...

Оконное приложение
Дан массив 10 на 10, написать оконное приложение где при вводе координат клетки ее цвет меняется на...

Оконное приложение
Напишите код для простейшего оконного приложения на сложение a и b (с комментариями)

Оконное приложение С++
Хочу создать оконное приложение на С++( на Visual Studio) вот код на #include &quot;MyForm.h&quot;...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.