❤7👍7🔥4😁3
Сегодня покажу, как на чистой Java без библиотек снять скриншот всего экрана и записать его в файл.
В этом посте:
• Подключаем Robot и Toolkit для захвата экрана
• Делаем скрин всего монитора
• Сохраняем в PNG через ImageIO
Удобно для логов ошибок, автотестов GUI или просто пранков.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23❤6👍6🤝3😁1
Отправляем уведомление в трей!
Если твоя программа работает в фоне — например, что-то качает, обрабатывает или мониторит — удобно сразу показать пользователю системное уведомление, что задача завершена или возникла ошибка.
В Java это можно сделать через встроенный
Импортируем необходимые классы из java.awt, чтобы работать с системным треем.
Проверяем, поддерживается ли системный трей на текущей ОС. Если да — создаём иконку и добавляем её в трей.
Отправляем всплывающее уведомление с заголовком, текстом и типом сообщения.
🔥 Так можно ненавязчиво оповестить пользователя о завершении скачивания, обновления или ошибке.
👉 Java Ready | #практика
Если твоя программа работает в фоне — например, что-то качает, обрабатывает или мониторит — удобно сразу показать пользователю системное уведомление, что задача завершена или возникла ошибка.
В Java это можно сделать через встроенный
SystemTray
и TrayIcon
, которые позволяют отправить всплывающее сообщение в нативный трей операционной системы.Импортируем необходимые классы из java.awt, чтобы работать с системным треем.
import java.awt.*;
Проверяем, поддерживается ли системный трей на текущей ОС. Если да — создаём иконку и добавляем её в трей.
if (SystemTray.isSupported()) {
SystemTray tray = SystemTray.getSystemTray();
Image img = Toolkit.getDefaultToolkit().createImage("icon.png");
TrayIcon icon = new TrayIcon(img, "Java App");
tray.add(icon);
Отправляем всплывающее уведомление с заголовком, текстом и типом сообщения.
icon.displayMessage("Готово!", "Задача завершена", TrayIcon.MessageType.INFO);
} else {
System.out.println("Трей не поддерживается на этой системе");
}
🔥 Так можно ненавязчиво оповестить пользователя о завершении скачивания, обновления или ошибке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤝7❤5
Иногда задача банальна: поменять местами два элемента в списке. Но есть как минимум два способа это сделать:
•
Collections.swap()
— самый быстрый и читаемый. Стандартная функция для перестановки элементов по индексам. Работает для любых списков.•
Ручной swap через set()
— под полным твоим контролем. Хочешь — можешь добавить логику, проверки и даже подсчёт операций.🔥 — если узнал что-то новое
🤝 — если уже использовал их
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥9👍4🤝2
Полный разбор, как Java работает с памятью: heap, metaspace, Eden, Survivor, Old Gen, stop-the-world и сам Garbage Collector. Узнаешь, как искать утечки памяти и анализировать heap dump через Visual VM. После этого ролика ты будешь понимать, почему случаются OOM и как их предотвращать.
Ссылочка на видео: YouTube🖤
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍6🔥4
LinuxCamp — канал системного разработчика, который поможет тебе освоить Linux и DevOps на профессиональном уровне!
— Уникальные гайды по администрированию Linux
— Продвинутые техники и рекомендации по работе в Bash
— Подробные статьи о внутреннем устройстве операционных систем
Подписывайся: @linuxcamp_tg
— Уникальные гайды по администрированию Linux
— Продвинутые техники и рекомендации по работе в Bash
— Подробные статьи о внутреннем устройстве операционных систем
Подписывайся: @linuxcamp_tg
❤1
Сегодня создадим скрипт, который берёт любую папку и автоматически раскладывает файлы по подпапкам: images, docs, videos.
В этом посте:
• Читаем содержимое папки.
• Создаём подпапки для типов файлов.
• Перемещаем файлы в нужные директории.
Всё это удобно для папок Загрузки, больших архивов или хаоса в проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥4🤝4👍3