2014-12-12 2 views
0

Я новичок в Java, и я начал небольшую игру RPG. Когда начинается битва, я хочу отобразить боевые сообщения в маленькой коробке. Я бы хотел, чтобы окно было прокручивается автоматически, каждый раз отображая новое сообщение и не теряя старые сообщения.Прокручиваемый, неотредактируемый, обновляемый текст

+0

Какие исследования вы сделали/вещи вы пробовали до сих пор? Кроме того, что означает «не потерять старые сообщения»? – snickers10m

+1

Вы объяснили это нормально, но я не вижу кода, который объясняет, что вы делали до сих пор. – sol4me

+0

Я пытался использовать JLabel, Textmessage и добавлять к ним сообщения каждый раз, проблема в том, что список сообщений слишком длинный. и не теряя старые сообщения, я имею в виду, когда я прокручиваю вверх, я вижу некоторые из старых сообщений. Еще раз спасибо :) – Yeap

ответ

1

Я собираюсь предоставить вам необходимую информацию, но ваша обязанность - выяснить, как их использовать: 1-вы должны использовать JTextArea для отображения ваших сообщений. 2-при приеме нового сообщения используйте функцию append() для объекта JTextArea (используйте \ n для автоматического возврата в строку). 3-добавить JScrollPane в JTextArea, чтобы он мог прокручиваться. 4-обновление вы автоматически знака вставки всегда показывает последнее сообщение, напечатанное использовать это где myJTA твой JTextArea:

DefaultCaret caret = (DefaultCaret)myJTA.getCaret(); 
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE); 

теперь у вас есть все части головоломки. Удачи.

EDIT: если вы хотите, чтобы ваш JTextArea не редактируемые использование:

myJTA.setEdtable(false); 
+0

Огромное спасибо, это наверняка поможет много^_ ^ – Yeap

Смежные вопросы