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

как это работает?

19.06.2020, 16:44. Показов 351. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять как работает данный код?
Java
1
2
3
4
5
6
        BufferedImage sr;//1
        Graphics2D g2;//2
        sr = new BufferedImage(576, 676, BufferedImage.TYPE_INT_ARGB);//3
        g2 = sr.createGraphics();//4
        g2.drawImage(background, 0, 0, this);//5
        mainLabel.setIcon(new ImageIcon(sr));//6
Я предполагаю, что это должно работать так:

1) объявляю объект типа BufferedImage
2) объявляю объект типа Graphics2D
3) создаю объект sr
4) создаю объект g2
5) рисую на объекте g2
6) вывожу на label картинку из sr

Получается, что я вывожу на Label картинку из sr. Но ведь я не рисовал на sr.(sr вообще не должна была измениться)
Я рисовал на g2. Почему же изменилась sr?
Не могу понять принцип. Подскажите логику выполнения этой программы.
Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.06.2020, 16:44
Ответы с готовыми решениями:

Объясните пожалуйста как работает этот код, как это объяснить преподавателю, кто шарит
Тут вначале понятно, тип матрица 5 на 5, дальше что за переменные? и что за условие в цикле выполняется не совсем понимаю, объяните плиз ...

Объяните пожалуйста как это работает
// Person.java import java.util.*; public class Person implements Iterable<Person> { public Person(String fn, String...

Static CONST =10; Как это работает?
class class1 { public static final int CONST; static { CONST = 10; } } Что это такое:static { CONST = 10;

2
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
19.06.2020, 16:47
rtfm наверно надо
/**
* Creates a <code>Graphics2D</code>, which can be used to draw into
* this <code>BufferedImage</code>.
* @return a <code>Graphics2D</code>, used for drawing into this
* image.
*/
0
296 / 149 / 67
Регистрация: 22.02.2017
Сообщений: 592
20.06.2020, 19:07
pumaex, как это вы не рисовали в sr?
Java
1
 sr.createGraphics();
4. создаю объект g2 - не создаю а указываю источник куда рисовать.
можно рисовать и не в BufferImage можно рисовать в Image или напрямую в отдельном классе который можно загнать в Label но этот способ не очень то хорошь, если Label участвует в потоке то и этот класс будет каждый раз перерисовываться что создаст дополнительную нагрузку а иногда и критическую.
вы указали что вся графика рисуется-передаеться в sr
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2020, 19:07
Помогаю со студенческими работами здесь

Не могу понять, что это за реализация ORM и как это работает
Есть проект на C#, есть база данных MSSQL, есть код, который позволяет мне добавлять и удалять данные из базы данных (без создания и...

Как это работает? Я хочу спросить как работает C++ и где можно про него почитать
Привет, котоны. Заранее благодарю. Это будет моих общих вопросов нить, т.к. создавать целую ветку для каждого нецелесообразно. Я хочу...

Что это и как это работает
Для чего указываются эти параметры в этих тегах? И как они работают? За подробное описание большое спасибо!!!

Что это за фишка языка? s+=i[a]; почему это вообще работает? Где про это прочитать?
#include &lt;iostream&gt; using namespace std; int main() { int a={1,2,3,4,5}; int s=0; for(int i=0;i&lt;5;i++) ...

Русификация.Работает-супер! Обьяснитте, как это работает?
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; using namespace std; char* Rus(const char* text); int main () ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru