package Login;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
public class GUI {
public static void main(String[] args) {
JLabel label = new JLabel("Delay");
JFrame jarvis = new JFrame("JARVIS");
jarvis.setSize(400, 400);
jarvis.setLocation(500,250);
label.setBounds(50,50,200,40);
final JTextArea textArea = new JTextArea(10, 40);
jarvis.getContentPane().add(BorderLayout.CENTER, textArea);
final JButton button = new JButton("Activate Jarvis");
jarvis.getContentPane().add(BorderLayout.NORTH, button);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
Login.jSpeech("/Users/C21/Desktop/JARVISSpeech/Ready.wav");
} catch (IOException e1) {
e1.printStackTrace();
}
long now = System.currentTimeMillis();
long later = now + 1000;
while (System.currentTimeMillis() < later) {
int i = 0;
i++;
}
textArea.append("Uploading JARVIS...\n");
now = System.currentTimeMillis();
later = now + 1000;
while (System.currentTimeMillis() < later) {
int i = 0;
i++;
}
textArea.append("Logged In...\n");
}
});
jarvis.setVisible(true);
}
}
Вместо того, чтобы ждать 1000 мс и говорить «Загрузка Jarvis», он ждет 2000 мс, а затем одновременно говорит «Загрузка Jarvis» и «Вход в систему». Мне нужны таймеры для работы отдельно. Другие типы, которые я пробовал, также заканчивались таким же провалом. Другие, которые я пробовал, работали, если их не было в графическом интерфейсе. Эта вещь говорит, добавьте больше деталей, так что здесь я говорю случайные вещи.