Как перезагрузить/обновить Jpanel
18.04.2017, 21:20. Показов 1298. Ответов 0
При запуске программы в цикле загружается | Java | 1
| frame.add(TestX1.testX1(Words),c); |
|
при ее завершение цикл повторяется. Но програма в первый ответ засчитывает как true остальные принципиально false.
Чтоб разобраться з проблемой реши проследить за работой добавляя | Java | 1
| System.out.print("Коментарии"); |
|
в итоге выглядит консоль так: (обратите внимание на ответ <-----)
Не по теме:
Тест Nr0
Проверка если все тесты пройдены то =0. Результат:
[1 1 1 1 1 1 ]
SummEror показало: 6
Програма продолжает роботу...
Руультат Тест1
testX1 Запущен и видим
Выбрано слово номер 5
количество ошибок в нем: 1
жеребевка перевода 0
Англ на Рус
Создаеться два потока
myThreadyGreen =false
myThreadyRED =false
s6?? <<<---
Введено ответ s6
srownenije1.equals(srownenije2)true
Ответ правельный
Тест Nr1
Проверка если все тесты пройдены то =0. Результат:
[1 1 1 1 1 0 ]
SummEror показало: 5
Програма продолжает роботу...
Руультат Тест1
testX1 Запущен и видим
Выбрано слово номер 2
количество ошибок в нем: 1
жеребевка перевода 0
Англ на Рус
Создаеться два потока
myThreadyGreen =false
myThreadyRED =false
s3?? <<<---
Введено ответ s3
srownenije1.equals(srownenije2)true
Ответ правельный
s3?? <<<---
Введено ответ s3
srownenije1.equals(srownenije2)false
Ответ неправельный
Тест Nr2
Проверка если все тесты пройдены то =0. Результат:
[1 1 1 1 1 0 ]
SummEror показало: 5
Програма продолжает роботу...
Руультат Тест1
testX1 Запущен и видим
Выбрано слово номер 4
количество ошибок в нем: 1
жеребевка перевода 0
Англ на Рус
Создаеться два потока
myThreadyGreen =false
myThreadyRED =false
s5?? <<<---
Введено ответ s5
srownenije1.equals(srownenije2)true
Ответ правельный
s5?? <<<---
Введено ответ s5
srownenije1.equals(srownenije2)false
Ответ неправельный
s5?? <<<---
Введено ответ s5
srownenije1.equals(srownenije2)false
Ответ неправельный
Тест Nr3
Проверка если все тесты пройдены то =0. Результат:
[1 1 1 1 2 0 ]
SummEror показало: 6
Програма продолжает роботу...
Руультат Тест1
testX1 Запущен и видим
Выбрано слово номер 1
количество ошибок в нем: 1
жеребевка перевода 1
Рус на Англ
Создаеться два потока
myThreadyGreen =false
myThreadyRED =false
| 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
| import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.io.FileNotFoundException;
import java.util.Random;
import javax.swing.JFrame;
public class MainClass extends JFrame {
static boolean p1End = false;
static String Words[][]={{"s1","transkr1","t1"},
{"s2","transkr2","t2"},
{"s3","transkr3","t3"},
{"s4","transkr4","t4"},
{"s5","transkr5","t5"},
{"s6","transkr6","t6"}};
static int State[][]={{0,0,1},{0,0,1},{0,0,1},{0,0,1},{0,0,1},{0,0,1}};
static JFrame frame = new JFrame();
static int SummEror(int[][]a){
int b=0;
for (int i = 0; i < a.length; i++) {
b+=a[i][2];
}
return b;
}
public static void main(String[] arg) throws FileNotFoundException {
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
Random rand_2=new Random();
int totaltest=0;
for (int i = 0; i < Words.length; i++) {
//*tester для консоли
System.out.println("\nТест Nr"+totaltest++);
System.out.println("Проверка если все тесты пройдены то =0. Результат: ");
System.out.print("[");
for (int j = 0; j < State.length; j++) {
System.out.print(State[j][2]+" ");
}
System.out.println("]");
System.out.println("SummEror показало: "+SummEror(State));
//*tester
if(SummEror(State)==0){// если 3 столбец все лементы ==0 то остановить цыкл
for (int j = 0; j < State.length; j++) {
for (int j2 = 0; j2 < State[j].length; j2++) {
System.out.print(State[j][j2]+" ");
}
System.out.println();
}
return;
}
else System.out.println("Програма продолжает роботу...");
p1End = false;
//int a=rand_2.nextInt(2);
System.out.println("Руультат Тест1");//************
frame.add(TestX1.testX1(Words),c);
frame.pack();
do{
try {
Thread.sleep(250);
} catch (InterruptedException e) {
e.printStackTrace();
}
}while(!p1End); //p1End = true в конце роботы
}//end For
for (int i = 0; i < State.length; i++) {// show State[][]
for (int j = 0; j < State[i].length; j++) {
System.out.print(State[i][j]+" ");
}
System.out.println();
}
System.exit(0);
}
} |
|
| 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
195
196
197
| import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Locale;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.LineBorder;
public class TestX1 extends JPanel {
static JButton answer = new JButton("Ответить");
static JTextField forma = new JTextField();
static String srownenije2;
static int numberlist;
static JPanel testX1(String Au[][]) {
System.out.println("testX1 Запущен и видим");
JPanel p1 = new JPanel();
p1.setVisible(true);
p1.setEnabled(true);
Random random = new Random();
numberlist = 0;
for (int i = 0; i < MainClass.State.length; i++) {
numberlist = random.nextInt(MainClass.State.length);
if(MainClass.State[numberlist][2]>0){
// KeyboardSwitcher.State[numberlist][2]--;
break;
}
if(MainClass.State[numberlist][2]==0){
i--;
}
}
System.out.println("Выбрано слово номер "+numberlist);
System.out.println("количество ошибок в нем: "+MainClass.State[numberlist][2]);
JLabel lb1;
String srownenije1;
System.out.print("жеребевка перевода ");
int word_translate=random.nextInt(2);
// Locale loc; ***
System.out.println(word_translate);
if (word_translate == 1) {
System.out.println(" Рус на Англ");
lb1 = new JLabel(Au[numberlist][0], SwingConstants.CENTER);
srownenije1 = Au[numberlist][2];
// loc = new Locale("en","EN"); ***
} else {
System.out.println("Англ на Рус");
lb1 = new JLabel(Au[numberlist][2], SwingConstants.CENTER);
srownenije1 = Au[numberlist][0];
// loc = new Locale("ru","RU"); ***
}
// p1.setLocale(loc); ***
Dimension btnSize = new Dimension(258, 50);
Font btnFont = new Font("Console", Font.BOLD, 20);
answer.setPreferredSize(btnSize);
answer.setForeground(Color.WHITE);
answer.setFont(btnFont);
answer.setBackground(new Color(100, 100, 100));
lb1.setPreferredSize(btnSize);
lb1.setForeground(Color.WHITE);
lb1.setFont(btnFont);
lb1.setBackground(new Color(100, 100, 100));
forma.setPreferredSize(btnSize);
forma.setForeground(Color.BLACK);
forma.setFont(btnFont);
forma.setHorizontalAlignment(JTextField.CENTER);
forma.setText("");
p1.setBackground(new Color(120, 120, 120, 200));
p1.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.insets = new Insets(5, 5, 5, 5);
c.gridy = 0;
p1.add(lb1, c);
c.gridy++;
p1.add(forma, c);
c.gridy++;
p1.add(answer, c);
p1.setBorder(new LineBorder(Color.white, 1));
System.out.println("Создаеться два потока");
Thread myThreadyGreen = new Thread(new Runnable() {
public void run() // Этот метод будет выполняться в побочном потоке
{
forma.setForeground(Color.green);
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
forma.setForeground(Color.BLACK);
forma.setText("");
p1.setVisible(false);
MainClass.p1End = true;
}
});
Thread myThreadyRED = new Thread(new Runnable() {
public void run() // Этот метод будет выполняться в побочном потоке
{
forma.setForeground(Color.RED);
forma.setText(srownenije1);
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
forma.setForeground(Color.BLACK);
forma.setText("");
p1.setVisible(false);
MainClass.p1End = true;
}
});
System.out.println("myThreadyGreen ="+myThreadyGreen.isAlive());
System.out.println("myThreadyRED ="+myThreadyRED.isAlive());
answer.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(Au[numberlist][0]+"?? <<<---");
System.out.println("Введено ответ "+forma.getText()+"");
srownenije2 = forma.getText();
System.out.println("srownenije1.equals(srownenije2)"+srownenije1.equals(srownenije2));
if (srownenije1.equals(srownenije2)) {//Prawilna widpowid
System.out.println("Ответ правельный");
// myThreadyGreen.start();
// try {
// Thread.sleep(2000);
// } catch (InterruptedException e1) {
// e1.printStackTrace();
// }
// myThreadyGreen.interrupt();
p1.setVisible(false);
MainClass.p1End = true;
if(MainClass.State[numberlist][2]>0){
MainClass.State[numberlist][2]--;
}
} else {
System.out.println("Ответ неправельный");
// Error
// forma.setText(srownenije1);
// myThreadyRED.start();
// try {
// Thread.sleep(2000);
// } catch (InterruptedException e1) {
// e1.printStackTrace();
// }
// myThreadyRED.interrupt();
p1.setVisible(false);
p1.setEnabled(false);
MainClass.p1End = true;
MainClass.State[numberlist][0]++;
MainClass.State[numberlist][2]++;
if(MainClass.State[numberlist][0]==1)MainClass.State[numberlist][1]++;
if(MainClass.State[numberlist][0]==5)MainClass.State[numberlist][1]++;
}
}
});
return p1;
}
} |
|
0
|