Скриншот экрана

 
 
 
Сообщения:2
Простая програмка, делает скриншот экрана и сохраняет его на рабочем столе. Постараюсь описать очень подробно, мне самому так удобнее, я сам только начал учиться.
Использую NetBeans IDE 8.2
Не стал делать в консоли, сделал форму (Пакеты исходных кодов - правой кнопкой - новый -> другое... -> Категория - Формы Swing GUI и тип файлов - Форма JFrame.
На форму отправил кнопку и метку.
Метку переименовал "Сделать скриншот и кинуть на рабочий стол", она называется jLabel1, и кнопку переименовал в Скрин. Название элемента jButton1.

Нажатие кнопки делает основное действие. На форме по кнопке нажимаю правой кнопкой События - Action - actionPerformed
Открывается источник для редактирования действия при её нажатии.
Сначала импорт. В самом верху.
Quote:
import java.io.File;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.Rectangle;
import java.io.IOException;
import java.awt.AWTException;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import javax.swing.filechooser.FileSystemView;

Далее ввожу действие кнопки.
Quote:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// События кнопки "Скриншот".
//Меняю надпись, что скриншот сделан (возле кнопки
jLabel1.setText(String.valueOf ("Скрин сохранен на рабочем столе"));
//Надпись поменялась. Далее действие - сделать файл screen.png
try {
ImageIO.write(grabScreen(), "png", new File(getHomeDir(), "screen.png"));
} catch (IOException e) {
}
}
private static File getHomeDir() {
FileSystemView fsv = FileSystemView.getFileSystemView();
return fsv.getHomeDirectory();
}
private static BufferedImage grabScreen() {
try {
return new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())) ;
} catch (SecurityException | AWTException e) {
}
return null;
// Конец кнопки скриншота
}

Готово. Можно закрыть программку, на рабочем столе будет лежать файлик - снимок рабочего стола.
 
 
Сообщения:27
swing имеет какую-то практическую пользу, кроме написания учебных примеров? им правда пользуются?
 
 
Сообщения:2
Практическую может быть и нет. Не знаю даже. А для обучения мне как раз, все понятно, легко сделать последовательность действий в наглядном виде. Просто окно с несколькими кнопками, несколькими текстовыми записями. Кстати мне кейгегн к какой-то проге попадался похоже что алгоритм генерации как раз на java и в виде swing написан.
 
 
Сообщения:639
Swing считается устаревшей технологией, но всё ещё вполне работоспособен. кстати, в нём есть пара вещей недоступных JavaFX.
а так им пользуются в основном только для поддержки старых вещей и переходят на JavaFX.
а изучить пожалуй следует - гениальная вещь.
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет