Сегодня покажу, как на чистой 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
🔥24❤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
Сегодня создадим скрипт, который берёт любую папку и автоматически раскладывает файлы по подпапкам: images, docs, videos.
В этом посте:
• Читаем содержимое папки.
• Создаём подпапки для типов файлов.
• Перемещаем файлы в нужные директории.
Всё это удобно для папок Загрузки, больших архивов или хаоса в проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥4🤝4👍3
👍8🔥4
Forwarded from 1337
Победителей будет много, а для участия нужны лишь пара кликов:
1. Подписаться на Рифмы и Панчи, 1337 и на Техно.
2. Нажать «Участвовать» под этим постом
Что по призам:
1 место - Iphone 16 Pro
2 место - PS5 Slim
3 место - Nintendo Switch 2
4-10 места - 10 000 рублей на карту
Победителей определим 21 июля в 18:00 МСК. Всем удачи!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Забудь про compare() и анонимные классы.
С Comparator.comparing() ты можешь сортировать по любому полю, в любом порядке, с null'ами и вложенной логикой и всё в одну строку.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍7❤6🤝1
Определяем язык текста!
Если ты работаешь с пользовательским вводом, новостями или сообщениями то иногда нужно понять, на каком языке написан текст. Для этого можно использовать лёгкую библиотеку
Добавляем зависимость:
Инициализируем определитель:
Проверяем язык текста:
🔥 Вывод будет:
👉 Java Ready | #практика
Если ты работаешь с пользовательским вводом, новостями или сообщениями то иногда нужно понять, на каком языке написан текст. Для этого можно использовать лёгкую библиотеку
language-detector
.Добавляем зависимость:
implementation 'com.optimaize.languagedetector:language-detector:0.6'
Инициализируем определитель:
LanguageDetector detector = LanguageDetectorBuilder.create().build();
TextObjectFactory factory = CommonTextObjectFactories.forDetectingOnLargeText();
Проверяем язык текста:
String input = "Привет, как дела?";
TextObject text = factory.forText(input);
Optional<LdLocale> lang = detector.detect(text);
System.out.println("Язык: " + lang.map(LdLocale::getLanguage).orElse("не определён"));
🔥 Вывод будет:
ru
, en
, fr
и т.д. Работает с короткими и длинными фразами, подходит для фильтрации, автоопределения языка и локализации.Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍8🔥8