Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 248

Swing repaint не работает в листенере

15.03.2017, 16:18. Показов 1782. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть класс Main:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.company;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Main {
 
    public static JFrame frame = new JFrame("Здесь заголовок окна"); // желаемый заголовок
 
    public static void main(String[] args) {
 
        //Далее создаём поверхность (панель) для размещения компонентов
        //MainFormAppearance demo = new MainFormAppearance(); // внешность формы
        frame.setContentPane(new MainFormAppearance()); // передаем как параметр в коструктор
 
        // задаём операцию, которая выполниться при закрытии
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(800, 600); // задаём размер окна
        frame.setResizable(false);
        frame.setVisible(true); //  форма будет видимой
    }
}
Есть класс MainFormAppearance, там наша панель с лейблами и кнопками.
Пока все хорошо, появляется форма и панель.

Теперь на кнопке есть листенер CsvListener:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package TestActions;
 
import com.company.Main;
import com.company.MainMenu;
 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.*;
 
public class CsvListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        JPanel panel = new MainMenu();
 
        Main.frame.setContentPane(panel);
        panel.repaint();
    }
}
При нажатии не кнопку панель должна смениться на ту что в классе MainMenu и она меняется, но я узнаю это только когда сверну и разверну окно, но ведь я написал:
JavaScript
1
panel.repaint();
значит все само должно обновиться, но этого не происходит, я не знаю почему.

Вот так я тоже пробовал (нашел где-то в гугле), но тоже не работает:
JavaScript
1
//Main.frame.update(panel.getGraphics());
Добавлено через 1 час 59 минут
Проблема решилась:
JavaScript
1
panel.revalidate();
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.03.2017, 16:18
Ответы с готовыми решениями:

Не работает repaint с задержкой
У меня есть персонаж, которому я хочу сделать функцию прыжка. Во втором потоке, я создал такой вот код: public void run() { if...

Не работает jTable1.repaint() в апплете
Есть апплет, в нём имеется таблица jTable1 . Пытаюсь добавить строку через изменение массива строк (который читает getRowCount()). Делаю...

Перерисовка JFrame. Не работает repaint();
Приветствую, уважаемые. У меня такая беда: работаю в JBuilder 2006, там используется JDK: java version 1.5.0_03-b07 Написал мелкий...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.03.2017, 16:18
Помогаю со студенческими работами здесь

Интеграция апплета в веб-приложение, некорректно работает метод repaint
Добрый день форумчане. Просьба помочь в решении вопроса, связанного с корректной перерисовкой апплета в веб-приложении. Апплет рисует...

Не работает Swing таймер
Вообщем, у меня есть JTextArea, JButton и метод prooverka. Я хочу сделать так, чтобы по истечению времени (10 секунд) вызывался метод...

Странно работает Java-swing-Агент
День добрый! Есть такой агент, он очень странный. Я исполбзую SWING. В коде который отвечает за нажатие кнопки я беру параметры...

javax.swing.Timer не работает событие в таймере
Добрый день. Пытаюсь написать свой таймер. нот почему-то объект класса таймер не работает, подскажите что не так? import...

Написал калькулятор на swing, не работает приоритет операций
Вот код. Проблема в следующем: например 2+2*2 он считает как 8, а не 6. Не могу написать алгоритм, что бы он учитывал приоритет операций. ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
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
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru