Пару дней назад, в другой теме, я задал вопрос о том, как я могу представить вывод, например «#Grades As: 5 «в выход» #Grade As: AAAAA ». Другими словами, я хотел представить величину 5 A как строку из A, повторяющуюся пять раз. Пользователь Sam Jones очень услужливо указал мне, что я должен использовать «для» цикла:Как сбросить выходные данные на экране, а не просто очистить экран
String gradeLetterA = "A";
for (int i=0; i<tempAs; i++)
longStringA += gradeLetterA;
Теперь, позвольте мне показать вам мой actionPerformed метод:
if (e.getSource() == clearScreen) {
checkAndRecordData();
Graphics g = chartPanel.getGraphics();
g.setColor(Color.white);
g.fillRect(20,20,410,52);
g.setColor(Color.black);
g.drawRect(20,20,410,52);
g.setColor(Color.black);
g.drawString("", chartLeftXA, chartTopYA);
if (e.getSource() == displayLongString) {
Graphics g = chartPanel.getGraphics();
g.setColor(Color.white);
g.fillRect(20,20,410,52);
g.setColor(Color.black);
g.drawRect(20,20,410,52);
g.setColor(Color.black);
g.drawString("Grade As: " + longStringA, 100, 50);
Мой вопрос к вам хорошим людям это: Когда я нажимаю кнопку JButton для обновления отображения «AAAAA», экран становится пустым, как и предполагалось. Однако, когда я затем выбираю ввести значение (например) 6 A, дисплей НЕ дает мне 6 букв A, а ELEVEN буква A, т.е. AAAAAAAAAAA. Другими словами, мой СБРОС (или обновление) JButton только очищает экран, но не удаляет предыдущее значение. Вместо этого он добавляет предыдущее значение к текущему значению, и я получаю НЕПРАВИЛЬНОЕ число А, когда я нажимаю кнопку второй раз. Может кто-нибудь, пожалуйста, скажите мне, какую строку кода я должен добавить к методу actionPerformed, чтобы сделать все правильно? Или эта линия должна войти в метод создания GUI? Я полностью потерян. Любая помощь будет с благодарностью приветствоваться.
@ Millie Smith: О, я вижу. Очень признателен ! – JCDyson
@ Милли Смит: О, я вижу. Очень признателен ! – JCDyson
Да, сейчас работает отлично. :) – JCDyson