Я делаю игру с моим товарищем по команде для школьного проекта.
Я создал JTextArea, где будут напечатаны строки текстового файла.
Я хотел бы добавить эффект typeWriter, поэтому я искал ответы на этом сайте.
Я нашел немного симпатичной информации здесь:
Java-надстройка машинка эффекта-к-JTextArea
с помощью таймера к достижению-пишущая эффект-в-JTextArea
Я пробовал решения выше, но безуспешно.
Я поставлю свой код:
public static void ui() {
Font baseText = new Font("Roboto", Font.PLAIN, 30);
JFrame mainWindow = new JFrame("Main Window");
JTextArea textArea = new JTextArea();
textArea.setFont(baseText);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setEditable(false);
JPanel panelButton = new JPanel();
panelButton.setLayout(new FlowLayout());
JButton bContinue = new JButton("Continue");
bContinue.setFont(baseText);
Path path = FileSystems.getDefault().getPath("beginning.txt");
try {
Scanner sc = new Scanner(path);
while(sc.hasNextLine()){
slowDisplay(line, textArea);
}
} catch (IOException ex) {
Logger.getLogger(Game.class.getName()).log(Level.SEVERE, null, ex);
}
mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panelButton.add(bContinue);
mainWindow.add(textArea);
mainWindow.add(panelButton, BorderLayout.SOUTH);
mainWindow.setBounds(0, 0, 1920, 1080);
mainWindow.setVisible(true);
}
Вот содержание метода slowDisplay:
public static void slowDisplay(String line, JTextArea textArea){
Timer timer = new Timer(500, null);
timer.addActionListener(new ActionListener(){
int index=0;
@Override
public void actionPerformed(ActionEvent e) {
if(index<line.length()){
textArea.append(String.valueOf(line.charAt(index++)));
}
else if(index==line.length()){
textArea.append("\n");
}
else{
timer.stop();
}
}
});
timer.start();
}
Что он делает, так это просматривает столбцы текстовых файлов и пишет символы, создает что-то ужасное, нечитаемое, и я не знаю почему:
вещь
Я положу содержимое моего текстового файла:
- -Mmmh ...
- -Я-мне холодно. Где я?
- -Huh? Это то место, где я лежу - это растение размером с человека?!
- Я оглянулся, ничего не увидел, кроме деревьев, кустов и растений.
- -Что за ...
Если кто-то может направить меня, пожалуйста, я был бы признателен.