0 / 0 / 1
Регистрация: 15.03.2016
Сообщений: 30
|
||||||
1 | ||||||
Как обновить компонент фрэйма (JLabel)31.07.2016, 01:28. Показов 6615. Ответов 8
Ребят, не знаю, задавали ли вопрос, не увидел на первых страницах. Вопрос очень простой. Вот код:
Пробовал frameText.repaint ...validate ...invalidate ...updateUI и т. д. Ничего не работает, не помогает. По поводу варианта повторить frame.add(frameText) не знаю, мне он кажется не корректным.
0
|
31.07.2016, 01:28 | |
Ответы с готовыми решениями:
8
Как изменить стандартные размеры фрэйма? Как разместить по центру фрэйма панель с лог и пасс Как отключить выравнивание JLabel? Как нарисовать градиент на JLabel? |
24 / 24 / 13
Регистрация: 19.05.2010
Сообщений: 151
|
||||||
31.07.2016, 10:57 | 2 | |||||
попробуйте сначала задать текст, а потом прикрепить на фрейм:
0
|
0 / 0 / 1
Регистрация: 15.03.2016
Сообщений: 30
|
|
31.07.2016, 11:17 [ТС] | 3 |
Да, я так делал, так оно работает. Но что если у меня постоянно будет меняться лэйбл? Мне придётся постоянно добавлять его во фрэйм? Это же не корректно, вроде. ПОлучается друг на друга накладываться будет один и тот же лэйбл? Или add заменяет обновление?
Добавлено через 7 минут Короче, проверил. Второй раз add не прокатывает и никак, к сожалению, не заменяет обновление. Мне нужна именно функция, которая делает рефреш, т. к. лэйбл меняется. Это, типа, текстовая игра и там постоянно меняется информация в окне. Либо мне придётся создать метод с этим лэйбелом, который постоянно создаёт новый лэйбл и заменяет им старый. Что, как по мне, не комильфо. Добавлено через 8 минут Ну, вот. Перенёс всю эту тему в простой метод а точку входа сделал в другом классе и вызвал метод. Таким образом add теперь заработал и окно обновляется. Но вопрос о том, правильно ли так делать и не нагружает ли это систему и как вообще правильно будет, есть ли другие варианты, остался...
0
|
24 / 24 / 13
Регистрация: 19.05.2010
Сообщений: 151
|
|
31.07.2016, 12:13 | 4 |
Settext прекрасно работает, остальное без кода трудно сказать
0
|
0 / 0 / 1
Регистрация: 15.03.2016
Сообщений: 30
|
||||||
31.07.2016, 13:16 [ТС] | 5 | |||||
Ну, вот у меня есть такой метод простой.
0
|
24 / 24 / 13
Регистрация: 19.05.2010
Сообщений: 151
|
|
31.07.2016, 13:19 | 6 |
По какому поводу вы хотите обновлять текст? Окончание работы функции, нажатие на кнопку и тд?
0
|
0 / 0 / 1
Регистрация: 15.03.2016
Сообщений: 30
|
||||||
31.07.2016, 15:35 [ТС] | 7 | |||||
Я тут помучился и получилось, короче. Сделал метод статичным, как ниже показано. Теперь другая проблема, я не могу расположить, как мне хочется на панели, метку текстовую. Если вызвать метод mainGameText и отправить туда очень длинный текст, то будет белиберда. Мне надо расположить текст сверху-слева. Вроде это я и пытаюсь сделать. Кроме того, длинный текст выходит за границы окна, вместо того, чтобы переводиться на другу строку и оставаться в границах окна.
0
|
24 / 24 / 13
Регистрация: 19.05.2010
Сообщений: 151
|
|
31.07.2016, 16:31 | 8 |
для корректного расположения нужно использовать менеджеры компоновки типа java.awt.FlowLayout, java.awt.GridLayout и тд
0
|
0 / 0 / 1
Регистрация: 15.03.2016
Сообщений: 30
|
|||||||||||
31.07.2016, 17:17 [ТС] | 9 | ||||||||||
Хорошо, я использовал лэйаут, но длинный текст располагается в самом лейбеле не сверху-слева, а по центру и к тому же не переводится на следующую строку, а прерывается многоточием.
Добавлено через 17 минут Всё, разобрался. вот так код должен выглядеть для того, чтобы сверху-слева был текст на метке.
0
|
31.07.2016, 17:17 | |
31.07.2016, 17:17 | |
Помогаю со студенческими работами здесь
9
Как добавить панель в JLabel? Как расположить Jlabel вертикально? как обратится к JLabel по имени ? Сохранение фрэйма в файл как картинку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |