Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Подключение библиотек:
- // Библиотека для работы с окнами.
- import javax.swing.*;
- // Библиотека для работы с графикой.
- import java.awt.*;
- // Библиотека для обработки событий.
- import java.awt.event.*;
- // Главный класс.
- public class Main
- {
- // Объявление и одновременная инициализация целой константы, которая хранит в себе
- //количество объектов класса JButton(кнопок)(7).
- static int BUTTON_SIZE = 20;
- // Объявление статического объекта класса Robot - главного компонента программы.
- public static Robot bot = null;
- // Функция, которая открывает диспетчер задач.
- public static void OpenTaskManager() {
- // Нажатие клавиши Ctrl.
- bot.keyPress(KeyEvent.VK_CONTROL);
- // 1-милисекундная задержка.
- bot.delay(1);
- // Нажатие клавиши Shift.
- bot.keyPress(KeyEvent.VK_SHIFT);
- // 1-милисекундная задержка.
- bot.delay(1);
- // Нажатие клавиши Esc.
- bot.keyPress(KeyEvent.VK_ESCAPE);
- // 1-милисекундная задержка.
- bot.delay(1);
- // Отпускание клавиши Esc.
- bot.keyRelease(KeyEvent.VK_ESCAPE);
- // 1-милисекундная задержка.
- bot.delay(1);
- // Отпускание клавиши Shift.
- bot.keyRelease(KeyEvent.VK_SHIFT);
- // 1-милисекундная задержка.
- bot.delay(1);
- // Отпускание клавиши Ctrl.
- bot.keyRelease(KeyEvent.VK_CONTROL);
- // 1-милисекундная задержка.
- bot.delay(1);
- }
- // Функция, которая открывает командную консоль.
- public static void OpenCMD() {
- try
- {
- // Создание объекта класса ProcessBuilder, который запускает командную консоль.
- ProcessBuilder CMDStart = new ProcessBuilder(
- // Указание расположения командной консоли в файловой системе.
- "C:\\Windows\\System32\\cmd.exe"
- );
- // Запуск командной консоли.
- CMDStart.start();
- }
- // В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
- catch(Exception ex)
- {
- }
- }
- // Функция, которая открывает проводник.
- public static void OpenExplorer() {
- try
- {
- // Создание объекта класса ProcessBuilder, который запускает проводник.
- ProcessBuilder ExplorerStart = new ProcessBuilder(
- // Указание расположения проводника в файловой системе.
- "C:\\Windows\\explorer.exe"
- );
- // Запуск браузера.
- ExplorerStart.start();
- }
- // В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
- catch(Exception ex)
- {
- }
- }
- // Функция, которая открывает среду разработки PascalABC.
- public static void OpenPascalABC() {
- try
- {
- // Создание объекта класса ProcessBuilder, который запускает PascalABC.
- ProcessBuilder PascalABCStart = new ProcessBuilder(
- // Указание расположения PascalABC в файловой системе.
- "C:\\Program Files (x86)\\PascalABC.NET\\pascalabcnet.exe"
- );
- // Запуск PascalABC.
- PascalABCStart.start();
- }
- // В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
- catch(Exception ex)
- {
- }
- }
- // Функция, которая открывает браузер.
- public static void OpenBrowser() {
- try
- {
- // Создание объекта класса ProcessBuilder, который запускает браузер.
- ProcessBuilder BrowserStart = new ProcessBuilder(
- // Указание расположения браузера в файловой системе.
- "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
- // Указание адреса архива задач по программированию.
- "https://acm.timus.ru"
- );
- // Запуск браузера.
- BrowserStart.start();
- }
- // В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
- catch(Exception ex)
- {
- }
- }
- // Функция, которая открывает PowerPoint.
- public static void OpenPowerPoint() {
- try
- {
- // Создание объекта класса ProcessBuilder, который запускает PowerPoint.
- ProcessBuilder PowerPointStart = new ProcessBuilder(
- // Указание расположения PowerPoint в файловой системе.
- "C:\\Program Files\\Microsoft Office\\Office16\\POWERPNT.exe"
- );
- // Запуск браузера.
- PowerPointStart.start();
- }
- //В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
- catch(Exception ex)
- {
- }
- }
- // Функция, которая открывает Paint.
- public static void OpenPaint() {
- try
- {
- // Создание объекта класса ProcessBuilder, который запускает Paint.
- ProcessBuilder PaintStart = new ProcessBuilder(
- // Указание расположения Paint в файловой системе.
- "C:\\Windows\\System32\\mspaint.exe"
- );
- // Запуск Paint.
- PaintStart.start();
- }
- //В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
- catch(Exception ex)
- {
- }
- }
- // Функция, которая открывает Word.
- public static void OpenWord() {
- try
- {
- // Создание объекта класса ProcessBuilder, который запускает Word.
- ProcessBuilder WordStart = new ProcessBuilder(
- // Указание расположения Word в файловой системе.
- "C:\\Program Files\\Microsoft Office\\Office16\\WINWORD.exe"
- );
- // Запуск Word.
- WordStart.start();
- }
- //В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
- catch(Exception ex)
- {
- }
- }
- // Функция, которая открывает блокнот.
- public static void OpenNotePad() {
- try
- {
- // Создание объекта класса ProcessBuilder, который запускает блокнот.
- ProcessBuilder NotePadStart = new ProcessBuilder(
- // Указание расположения блокнота в файловой системе.
- "C:\\Windows\\System32\\notepad.exe"
- );
- // Запуск блокнота.
- NotePadStart.start();
- }
- //В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
- catch(Exception ex)
- {
- }
- }
- // Главная функция, точка входа в программу.
- public static void main(String[] args)
- {
- try
- {
- // Выделение памяти для объекта класса Robot, который будет нажимать клавиши.
- bot = new Robot();
- }
- // Если выделение памяти пройдёт некорректно, программа должна остановиться.
- catch(Exception e) {}
- // Объявление объекта класса JFrame и одновременное выделение памяти под него.
- JFrame window = new JFrame();
- // Удаление рамки окна.
- window.setUndecorated(true);
- // Объявление менеджера размещения комонентов(таблица 4x6).
- GridLayout layout = new GridLayout(4,5);
- // Установка свободного принципа размещения окон.
- window.setLayout(layout);
- // Получение расширения экрана.
- Dimension Size = Toolkit.getDefaultToolkit ().getScreenSize ();
- // Определение расположения окна.
- window.setLocation(Size.width/2, Size.height/2);
- // Создание массива из 24 объектов класса JButton(кнопок) и одновременное выделение памяти для него.
- JButton[] myButtons = new JButton[BUTTON_SIZE];
- // Цикл, который выделяет память для каждый объект класса JButton(кнопку).
- for(int i = 0; i < BUTTON_SIZE; i++)
- {
- // Выделение памяти для объекта класса JButton(кнопку) под индексом итератора(i).
- myButtons[i] = new JButton();
- // Установка имени кнопки под индексом итератора(i), которое будет равняться b(i).
- myButtons[i].setName("b"+i);
- // Заполнение пустых клеток окна.
- if((i==5)||(i==9)||(i==10)||(i==14)||(i==15)||(i==19)) {
- // Устранение всех свойств,свойственных стандартной кнопке:
- myButtons[i].setBorderPainted(false);
- myButtons[i].setContentAreaFilled(false);
- myButtons[i].setDefaultCapable(false);
- myButtons[i].setEnabled(false);
- myButtons[i].setFocusable(false);
- myButtons[i].setFocusCycleRoot(false);
- myButtons[i].setFocusPainted(false);
- myButtons[i].setRolloverEnabled(false);
- myButtons[i].setSelected(false);
- myButtons[i].setVerifyInputWhenFocusTarget(false);
- myButtons[i].setVisible(false);
- }
- // Установка обработчика событий при нажатии на кнопку под индеком итератора(i).
- myButtons[i].addActionListener(new ActionListener()
- {
- // Определения действия при нажатии на кнопку под индексом итератора(i).
- public void actionPerformed(ActionEvent e)
- {
- // Создание временного объекта класса JButton(кнопки) для определения нажатой кнопки.
- JButton temp = (JButton)e.getSource();
- // Получение имени нажатой кнопки и помещение его в переменную temp типа string.
- String name = temp.getName();
- //Блок switch, который передаёт управление программой
- //в соответствующий определённой кнопке блок кода.
- switch(name)
- {
- // Создание кнопки открытия всех приложений одновременно.
- case "b0":
- // Открытие диспетчера задач.
- OpenTaskManager();
- // Запуск командной консоли.
- OpenCMD();
- // Открытие проводника.
- OpenExplorer();
- // Открытие PascalABC.
- OpenPascalABC();
- // Открытие браузера.
- OpenBrowser();
- // Открытие PowerPoint.
- OpenPowerPoint();
- // Открытие Paint.
- OpenPaint();
- // Открытие Word.
- OpenWord();
- // Открытие блокнота.
- OpenNotePad();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия приложений управления процессами.
- case "b1":
- // Открытие диспетчера задач.
- OpenTaskManager();
- // Запуск командной консоли.
- OpenCMD();
- // Открытие проводника.
- OpenExplorer();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия диспетчера задач.
- case "b2":
- // Открытие диспетчера задач.
- OpenTaskManager();
- // Выход из блока switch.
- break;
- // Создание кнопки запуска командной консоли.
- case "b3":
- // Запуск командной консоли.
- OpenCMD();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия проводника.
- case "b4":
- // Открытие проводника.
- OpenExplorer();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия приложений для занятия программированием.
- case "b6":
- // Открытие PascalABC.
- OpenPascalABC();
- // Открытие браузера.
- OpenBrowser();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия PascalABC.
- case "b7":
- // Открытие PascalABC.
- OpenPascalABC();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия браузера.
- case "b8":
- // Открытие браузера.
- OpenBrowser();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия приложений для графического редактирования.
- case "b11":
- // Открытие PowerPoint.
- OpenPowerPoint();
- // Открытие Paint.
- OpenPaint();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия PowerPoint.
- case "b12":
- // Открытие PowerPoint.
- OpenPowerPoint();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия Paint.
- case "b13":
- // Открытие Paint.
- OpenPaint();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия приложений для текстового редактирования.
- case "b16":
- // Открытие Word.
- OpenWord();
- // Открытие блокнота.
- OpenNotePad();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия Word.
- case "b17":
- // Открытие Word.
- OpenWord();
- // Выход из блока switch.
- break;
- // Создание кнопки открытия приложений для текстового редактирования.
- case "b18":
- // Открытие блокнота.
- OpenNotePad();
- // Выход из блока switch.
- break;
- }
- }
- });
- // Добавление кнопки в окно.
- window.add(myButtons[i]);
- }
- // Установка текста на кнопках:
- // Для открытия всех приложений одновременно.
- myButtons[0].setText("All apps");
- // Для открытия приложений для управления процессами.
- myButtons[1].setText("Process control");
- // Для открытия диспетчера задач.
- myButtons[2].setText("Task manager");
- // Для запуска командной строки.
- myButtons[3].setText("CMD");
- // Для открытия проводника.
- myButtons[4].setText("Explorer");
- // Для открытия приложений для занятия программированием.
- myButtons[6].setText("Programming");
- // Для открытия PascalABC.
- myButtons[7].setText("PascalABC");
- // Для открытия браузера.
- myButtons[8].setText("Browser");
- // Для открытия приложений графического редактирования.
- myButtons[11].setText("GraphicEdit");
- // Для открытия PowerPoint.
- myButtons[12].setText("PowerPoint");
- // Для открытия Paint.
- myButtons[13].setText("Paint");
- // Для открытия приложений текстового редактирования.
- myButtons[16].setText("TextEdit");
- // Для открытия Word.
- myButtons[17].setText("Word");
- // Для открытия открытия блокнота.
- myButtons[18].setText("NotePad");
- // Установка размеров окна автоматически.
- window.pack();
- // Завершение работы приложения при закрытии окна.
- window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- // Установка видимости окна.
- window.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement