Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346

Как обновить бордюр?

24.09.2015, 13:19. Показов 1326. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть комбинированный бордюр. Главная надпись = имя пользователя текущего, над ней, а в Titled-половине бордюра - текущий статус мыши и кнопок. Если навожу мышь на кнопку "Играть", то строка, которую берет бордюр, меняет текст на "Начать или продолжить игру." Однако, сама надпись в фрейме не меняется.

Пробовал и repaint(); и визибл вкл\выкл - безрезультатно. Панель скрыть можно при наведении, показать тоже, но обновить строку бордюра как - не могу понять -_-.

Код строки бордюра класса Библиотека:

Java
1
2
3
public static Border titled = new TitledBorder(softBorder, MainMenu.statusText, 5, 2, font1, darkGreen);
    public static Border empty = new EmptyBorder(5,10,5,10);
    public static Border compoundTitle = new CompoundBorder (titled, empty);
Код панельки со строкой имени и бордюром в классе с кнопкой и самим фремом, собственно:

Java
1
2
3
4
5
6
7
8
9
10
downTextedPanel = new JPanel(new GridLayout(1,1,0,0));//панель под Заголовком
    downTextedPanel.setBackground(Library.lightOrange);
    downTextedPanel.setBorder(Library.compoundTitle);
    {
        downTextedPanelText=new JLabel("\u266B " + UserManager.userName + " \u266B");
        downTextedPanelText.setFont(Library.font7);
        downTextedPanelText.setHorizontalAlignment(JLabel.CENTER);
        downTextedPanelText.setVerticalAlignment(JLabel.CENTER);
        downTextedPanel.add(downTextedPanelText);
    }
Код самой строки в том же классе, что и панелька:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public static String statusText = refreshStatusText("0");
    
    public static String refreshStatusText(String code)
    {       
        
        if (code.equals("1"))
        {
            statusText = "Продолжить/начать игру.";
        }
        else if (code.equals("2"))
        {
            statusText = "Галлерея медиа-файлов.";
        }
        else if (code.equals("3"))
        {
            statusText = "Настройки игрока.";
        }
        else if (code.equals("4"))
        {
            statusText = "Информация об игре.";
        }
        else if (code.equals("5"))
        {
            statusText = "Покинуть игру.";
        }
        else if (code.equals("0"))
        {
            statusText = "Главное меню игры.";
        }
        else
        {
            statusText = "ERROR!";
        }
        
    return statusText;
    }
Добавлено через 3 минуты
А, и вот кнопка со слушателем, который должен менять строку статуса в брдюре хоть как-нибудь уже -_-:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
startGameButton.addMouseListener(new MouseListener ()
                        {
 
                            public void mouseClicked(MouseEvent e)
                            {
 
                            }
 
                            @Override
                            public void mouseEntered(MouseEvent e)
                            {
                                statusText = refreshStatusText("1");
                                downTextedPanel.repaint();
                            }
 
                            @Override
                            public void mouseExited(MouseEvent e)
                            {
                                statusText = refreshStatusText("1");
                                downTextedPanel.repaint();
                            }
 
                            public void mousePressed(MouseEvent e)
                            {
 
                            }
 
                            @Override
                            public void mouseReleased(MouseEvent e)
                            {
                                statusText = refreshStatusText("1");
                                downTextedPanel.repaint();
                            }
                        });
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.09.2015, 13:19
Ответы с готовыми решениями:

Комбинированный бордюр. Как?
Я читал где-то нечто типа "...существуют так же комбинированный тип бордюров, но об том здесь не будем." Так вот, мне он нужен...

Как обновить модель данных
есть таблица с данными, при обновлении БД не обновляет данные в таблице, подскажите как actionListener правильно написать плз package...

Как обновить компонент фрэйма (JLabel)
Ребят, не знаю, задавали ли вопрос, не увидел на первых страницах. Вопрос очень простой. Вот код: public static void main(String...

12
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346
24.09.2015, 13:25  [ТС]
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
24.09.2015, 14:44
И с какого перепоя текст должен поменяться? Может перед тем, как что-то писать стоит почитать учебники?
0
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346
24.09.2015, 16:59  [ТС]
Если не можете ответить, прошу вообще воздержаться. Форум вроде и нужен для обсуждения вариантов и возможностей программирования?

Так с какого перепоя он не должен поменяться, если текст указан уже другой и я перерисовываю панель?

Добавлено через 1 минуту
Или как-то можно перезапустить панель, не закрывая фрейм?
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
25.09.2015, 07:44
Цитата Сообщение от KiraLis39 Посмотреть сообщение
Если не можете ответить, прошу вообще воздержаться.
Я могу, но заставить тебя немного пошевелить мозгами, думаю, тебе же будет полезнее.

Цитата Сообщение от KiraLis39 Посмотреть сообщение
Так с какого перепоя он не должен поменяться, если текст указан уже другой и я перерисовываю панель?
Тот факт, что ты обновил ссылку на статическое поле, не означает, что ты обновил текст заголовка.
0
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346
25.09.2015, 11:58  [ТС]
Я и так шевелю, что еще делаю? Сам сижу пишу, уже интерфейс почти закончен и начинка работает, не прочитал ни одного учебкина, уже могу сам легко написать мелкий фрейм с начинкой функциональный - плохо чтоли? Еще в детстве сам писал учебники для знакомых как компом пользоваться и программами и репетитором подрабатывал. Интересней с людьми общаться и узнавать новости, которые часами можно искать в инете, а еще лучше комбинировать и то и то для полноты картины. Вот как я думаю.

Добавлено через 1 минуту
При обращении к методу "Нарисовать в левом контейнере панель с надписью" - тот в свою очередь должен проверять что он рисует, собственно. Почему же в тот момент он не видит, что он рисует не ту строку, которая указана в программе уже?

Добавлено через 58 секунд
Просто мне интересно, как вообще программы обновляют свои данные, ведь переменная указана уже как паблик статик! Чтож он не берет ее заново?

Добавлено через 25 секунд
Я бы не спрашивал, если бы была final
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
25.09.2015, 12:08
Цитата Сообщение от KiraLis39 Посмотреть сообщение
не прочитал ни одного учебкина
Этим не стоит гордиться.

Добавлено через 7 минут
Цитата Сообщение от KiraLis39 Посмотреть сообщение
Еще в детстве сам писал учебники
Да, ты самец, я и после детства ни одного не написал.

Кликните здесь для просмотра всего текста
Решить свою проблему у тебя ума всё равно не хватит, т.ч. последняя подсказка.
1
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346
25.09.2015, 14:43  [ТС]
Хватало бы ума - тут не появлялся. Спасибо и за это..
0
25.09.2015, 17:37

Не по теме:

Чтобы ума хватало, надо книжки/статьи/другую тематичскую литературу читать. Чем раньше поймёшь, тем быстрее начнёшь расти как разработчик. А не начнёшь, так и будешь на каждый пустяк задавать вопросы на форумах.

0
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346
08.10.2017, 21:48  [ТС]
Что ж, тема старая, но, для тех, кто считает, что ко всему каждый обязан приходить через долгие изучения литературы и прочего - прошло года три в общем, я написал уже не одну прогу, обучаю сам новичков и прошел курсы на **********, где, к вашему удивлению, меня ничему новому не научили..

Так что.. думаю, дело тут в том, у кого на что мозги заточены, а кому приходится себя заставлять думать читать.

P.S. Какие бы тупые вопросы не задавали мне - я горжусь тем, что могу на них ответить. Откуда берется ваше раздражение - не знаю.
0
 Аватар для KiraLis39
9 / 10 / 1
Регистрация: 23.07.2014
Сообщений: 346
30.08.2019, 12:45  [ТС]
Меня всегда забавляло, как местные "гении" программирования и недо-модераторы правят то, что я пишу, изменяют слова, дописывают что-то, обсирают, ненавидят.. ))

Неужели вы и правда так сильно завидуете.. Не пойму, если программирование вам так тяжело давалось, не ваше - че взялись тогда? И при чем тут я.
0
30.08.2019, 13:05

Не по теме:

таблетки забыл выпить?

0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
30.08.2019, 13:08
KiraLis39, если ты про это
Цитата Сообщение от KiraLis39 Посмотреть сообщение
и прошел курсы на **********
то эт не модеры. Форум автоматически затирает некоторые ссылки / слова.
Цитата Сообщение от KiraLis39 Посмотреть сообщение
обсирают, ненавидят.
Никто тебя не ненеавидит, пожалуй даже наоборот, всем на тебя плевать. Интернет такое место, где никто не обязан вести себя вежливо, если не хочет. Среди большинства программистов сложилось мнение, что, не читая книги, толковым специалистом не стать. Тут появляешься ты со своим мнением и разумеется с тобой многие не согласны, так как, по их мнению, ты абсолютно не прав, то в их словах чувствуется неприязнь, но глупо принимать это на свой счёт. Если бы ты вне форума или вне этого раздела начал разговор с этими же людьми, то, скорее всего, вы даже могли бы поладить. Просто так работает общение в интернете

Ну и вообще говоря, ты действительно не прав, чувак. Мало одного ума, чтобы писать программы, ещё нужно огромное количество знаний. Ты гордишься тем, что не читая книг, смог написать простенький интерфейс для своей программы, но гордиться тут, собственно, нечем. Дело в том, что ты написал его, используя готовую библиотеку. В java процесс создания GUI упрощён донельзя, написал JFrame f = new JFrame(); и всё, фрэйм готов. Сомневаюсь, что не читая книг, ты будешь в состоянии понять, что происходит в момент создания фрэйма, как он устроен внутренне. Конечно, ты можешь сказать, что эти знания бесполезны, но это будет истинно только в том случае, если твои программы — никому ненужные безделушки. Если ты хочешь написать что-то действительно крутое, чем люди будут готовы пользоваться, то нужно понимать как всё это работает, а это понимание из воздуха и советов на форуме не вытащишь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.08.2019, 13:08
Помогаю со студенческими работами здесь

Как обновить java внутри программ?
Как обновить java внутри программ? Например, Maple. Все обновления закачал, но java-движок не обновляется. Есть и другие программы, но...

Как обновить фрейм со всеми его компонентами?
Пример. Есть окно на нем JComboBox в который помещаются компоненты из ArrayList. ArrayList получает свои компоненты из файла...

UNdeply на JBoss и Как обновить развернутое приложение?
О людях надо лучше думать! Конечно, application.xml у меня лежит, и в tmp я лазил и что на INFO радоваться надо, а не топики заводить...

Как обновить или добавить новые компоненты в JList?
На сколько я знаю объект этого класса создается след. образом: String array = new String; array="a"; array="b"; ...

Как правильно обновить таблицу jtable из другого jframe
Добрый день, проблема такая, у меня есть jframe package Forms; import javax.swing.*; import java.awt.event.ActionEvent; import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru