Advertisement
simushin_pavel

Проект "Quick Start"

Nov 20th, 2019
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.04 KB | None | 0 0
  1.  
  2. // Подключение библиотек:
  3.  
  4.  
  5. // Библиотека для работы с окнами.
  6. import javax.swing.*;
  7.  
  8. // Библиотека для работы с графикой.
  9. import java.awt.*;
  10.  
  11. // Библиотека для обработки событий.
  12. import java.awt.event.*;
  13.  
  14.  
  15. // Главный класс.
  16. public class Main
  17. {
  18.  
  19. // Объявление и одновременная инициализация целой константы, которая хранит в себе
  20. //количество объектов класса JButton(кнопок)(7).
  21. static int BUTTON_SIZE = 20;
  22.  
  23. // Объявление статического объекта класса Robot - главного компонента программы.
  24. public static Robot bot = null;
  25.  
  26.  
  27. // Функция, которая открывает диспетчер задач.
  28. public static void OpenTaskManager() {
  29.  
  30. // Нажатие клавиши Ctrl.
  31. bot.keyPress(KeyEvent.VK_CONTROL);
  32.  
  33. // 1-милисекундная задержка.
  34. bot.delay(1);
  35.  
  36. // Нажатие клавиши Shift.
  37. bot.keyPress(KeyEvent.VK_SHIFT);
  38.  
  39. // 1-милисекундная задержка.
  40. bot.delay(1);
  41.  
  42. // Нажатие клавиши Esc.
  43. bot.keyPress(KeyEvent.VK_ESCAPE);
  44.  
  45. // 1-милисекундная задержка.
  46. bot.delay(1);
  47.  
  48. // Отпускание клавиши Esc.
  49. bot.keyRelease(KeyEvent.VK_ESCAPE);
  50.  
  51. // 1-милисекундная задержка.
  52. bot.delay(1);
  53.  
  54. // Отпускание клавиши Shift.
  55. bot.keyRelease(KeyEvent.VK_SHIFT);
  56.  
  57. // 1-милисекундная задержка.
  58. bot.delay(1);
  59.  
  60. // Отпускание клавиши Ctrl.
  61. bot.keyRelease(KeyEvent.VK_CONTROL);
  62.  
  63. // 1-милисекундная задержка.
  64. bot.delay(1);
  65.  
  66. }
  67.  
  68. // Функция, которая открывает командную консоль.
  69. public static void OpenCMD() {
  70.  
  71. try
  72.  
  73. {
  74. // Создание объекта класса ProcessBuilder, который запускает командную консоль.
  75. ProcessBuilder CMDStart = new ProcessBuilder(
  76.  
  77. // Указание расположения командной консоли в файловой системе.
  78. "C:\\Windows\\System32\\cmd.exe"
  79.  
  80. );
  81.  
  82. // Запуск командной консоли.
  83. CMDStart.start();
  84.  
  85. }
  86.  
  87. // В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
  88. catch(Exception ex)
  89. {
  90.  
  91. }
  92.  
  93. }
  94.  
  95. // Функция, которая открывает проводник.
  96. public static void OpenExplorer() {
  97.  
  98. try
  99.  
  100. {
  101. // Создание объекта класса ProcessBuilder, который запускает проводник.
  102. ProcessBuilder ExplorerStart = new ProcessBuilder(
  103.  
  104. // Указание расположения проводника в файловой системе.
  105. "C:\\Windows\\explorer.exe"
  106.  
  107. );
  108.  
  109. // Запуск браузера.
  110. ExplorerStart.start();
  111.  
  112. }
  113.  
  114. // В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
  115. catch(Exception ex)
  116. {
  117.  
  118. }
  119.  
  120. }
  121.  
  122.  
  123. // Функция, которая открывает среду разработки PascalABC.
  124. public static void OpenPascalABC() {
  125.  
  126. try
  127.  
  128. {
  129. // Создание объекта класса ProcessBuilder, который запускает PascalABC.
  130. ProcessBuilder PascalABCStart = new ProcessBuilder(
  131.  
  132. // Указание расположения PascalABC в файловой системе.
  133. "C:\\Program Files (x86)\\PascalABC.NET\\pascalabcnet.exe"
  134.  
  135. );
  136.  
  137. // Запуск PascalABC.
  138. PascalABCStart.start();
  139.  
  140. }
  141.  
  142. // В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
  143. catch(Exception ex)
  144. {
  145.  
  146. }
  147.  
  148. }
  149.  
  150. // Функция, которая открывает браузер.
  151. public static void OpenBrowser() {
  152.  
  153. try
  154.  
  155. {
  156. // Создание объекта класса ProcessBuilder, который запускает браузер.
  157. ProcessBuilder BrowserStart = new ProcessBuilder(
  158.  
  159. // Указание расположения браузера в файловой системе.
  160. "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
  161. // Указание адреса архива задач по программированию.
  162. "https://acm.timus.ru"
  163.  
  164. );
  165.  
  166. // Запуск браузера.
  167. BrowserStart.start();
  168.  
  169. }
  170.  
  171. // В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
  172. catch(Exception ex)
  173. {
  174.  
  175. }
  176.  
  177. }
  178.  
  179.  
  180.  
  181. // Функция, которая открывает PowerPoint.
  182. public static void OpenPowerPoint() {
  183.  
  184. try
  185.  
  186. {
  187. // Создание объекта класса ProcessBuilder, который запускает PowerPoint.
  188. ProcessBuilder PowerPointStart = new ProcessBuilder(
  189.  
  190. // Указание расположения PowerPoint в файловой системе.
  191. "C:\\Program Files\\Microsoft Office\\Office16\\POWERPNT.exe"
  192.  
  193. );
  194.  
  195. // Запуск браузера.
  196. PowerPointStart.start();
  197.  
  198. }
  199.  
  200. //В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
  201. catch(Exception ex)
  202. {
  203.  
  204. }
  205.  
  206. }
  207.  
  208. // Функция, которая открывает Paint.
  209. public static void OpenPaint() {
  210.  
  211. try
  212.  
  213. {
  214. // Создание объекта класса ProcessBuilder, который запускает Paint.
  215. ProcessBuilder PaintStart = new ProcessBuilder(
  216.  
  217. // Указание расположения Paint в файловой системе.
  218. "C:\\Windows\\System32\\mspaint.exe"
  219.  
  220. );
  221.  
  222. // Запуск Paint.
  223. PaintStart.start();
  224.  
  225. }
  226.  
  227. //В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
  228. catch(Exception ex)
  229. {
  230.  
  231. }
  232.  
  233. }
  234.  
  235. // Функция, которая открывает Word.
  236. public static void OpenWord() {
  237.  
  238. try
  239.  
  240. {
  241. // Создание объекта класса ProcessBuilder, который запускает Word.
  242. ProcessBuilder WordStart = new ProcessBuilder(
  243.  
  244. // Указание расположения Word в файловой системе.
  245. "C:\\Program Files\\Microsoft Office\\Office16\\WINWORD.exe"
  246.  
  247. );
  248.  
  249. // Запуск Word.
  250. WordStart.start();
  251.  
  252. }
  253.  
  254. //В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
  255. catch(Exception ex)
  256. {
  257.  
  258. }
  259.  
  260. }
  261.  
  262. // Функция, которая открывает блокнот.
  263. public static void OpenNotePad() {
  264.  
  265. try
  266.  
  267. {
  268. // Создание объекта класса ProcessBuilder, который запускает блокнот.
  269. ProcessBuilder NotePadStart = new ProcessBuilder(
  270.  
  271. // Указание расположения блокнота в файловой системе.
  272. "C:\\Windows\\System32\\notepad.exe"
  273.  
  274. );
  275.  
  276. // Запуск блокнота.
  277. NotePadStart.start();
  278.  
  279. }
  280.  
  281. //В случае ошибки программа передаст исключение(информацию об ошибке) в блок catch, и программа остановится.
  282. catch(Exception ex)
  283. {
  284.  
  285. }
  286.  
  287. }
  288.  
  289. // Главная функция, точка входа в программу.
  290. public static void main(String[] args)
  291. {
  292.  
  293. try
  294. {
  295.  
  296. // Выделение памяти для объекта класса Robot, который будет нажимать клавиши.
  297. bot = new Robot();
  298.  
  299. }
  300.  
  301.  
  302. // Если выделение памяти пройдёт некорректно, программа должна остановиться.
  303. catch(Exception e) {}
  304.  
  305. // Объявление объекта класса JFrame и одновременное выделение памяти под него.
  306. JFrame window = new JFrame();
  307.  
  308. // Удаление рамки окна.
  309. window.setUndecorated(true);
  310.  
  311. // Объявление менеджера размещения комонентов(таблица 4x6).
  312. GridLayout layout = new GridLayout(4,5);
  313.  
  314. // Установка свободного принципа размещения окон.
  315. window.setLayout(layout);
  316.  
  317. // Получение расширения экрана.
  318. Dimension Size = Toolkit.getDefaultToolkit ().getScreenSize ();
  319.  
  320. // Определение расположения окна.
  321. window.setLocation(Size.width/2, Size.height/2);
  322.  
  323. // Создание массива из 24 объектов класса JButton(кнопок) и одновременное выделение памяти для него.
  324. JButton[] myButtons = new JButton[BUTTON_SIZE];
  325.  
  326. // Цикл, который выделяет память для каждый объект класса JButton(кнопку).
  327. for(int i = 0; i < BUTTON_SIZE; i++)
  328. {
  329.  
  330. // Выделение памяти для объекта класса JButton(кнопку) под индексом итератора(i).
  331. myButtons[i] = new JButton();
  332.  
  333. // Установка имени кнопки под индексом итератора(i), которое будет равняться b(i).
  334. myButtons[i].setName("b"+i);
  335.  
  336. // Заполнение пустых клеток окна.
  337. if((i==5)||(i==9)||(i==10)||(i==14)||(i==15)||(i==19)) {
  338.  
  339. // Устранение всех свойств,свойственных стандартной кнопке:
  340.  
  341. myButtons[i].setBorderPainted(false);
  342.  
  343. myButtons[i].setContentAreaFilled(false);
  344.  
  345. myButtons[i].setDefaultCapable(false);
  346.  
  347. myButtons[i].setEnabled(false);
  348.  
  349. myButtons[i].setFocusable(false);
  350.  
  351. myButtons[i].setFocusCycleRoot(false);
  352.  
  353. myButtons[i].setFocusPainted(false);
  354.  
  355. myButtons[i].setRolloverEnabled(false);
  356.  
  357. myButtons[i].setSelected(false);
  358.  
  359. myButtons[i].setVerifyInputWhenFocusTarget(false);
  360.  
  361. myButtons[i].setVisible(false);
  362.  
  363. }
  364.  
  365. // Установка обработчика событий при нажатии на кнопку под индеком итератора(i).
  366. myButtons[i].addActionListener(new ActionListener()
  367. {
  368.  
  369. // Определения действия при нажатии на кнопку под индексом итератора(i).
  370. public void actionPerformed(ActionEvent e)
  371. {
  372.  
  373. // Создание временного объекта класса JButton(кнопки) для определения нажатой кнопки.
  374. JButton temp = (JButton)e.getSource();
  375.  
  376. // Получение имени нажатой кнопки и помещение его в переменную temp типа string.
  377. String name = temp.getName();
  378.  
  379. //Блок switch, который передаёт управление программой
  380. //в соответствующий определённой кнопке блок кода.
  381. switch(name)
  382. {
  383.  
  384. // Создание кнопки открытия всех приложений одновременно.
  385. case "b0":
  386.  
  387. // Открытие диспетчера задач.
  388. OpenTaskManager();
  389.  
  390. // Запуск командной консоли.
  391. OpenCMD();
  392.  
  393. // Открытие проводника.
  394. OpenExplorer();
  395.  
  396. // Открытие PascalABC.
  397. OpenPascalABC();
  398.  
  399. // Открытие браузера.
  400. OpenBrowser();
  401.  
  402. // Открытие PowerPoint.
  403. OpenPowerPoint();
  404.  
  405. // Открытие Paint.
  406. OpenPaint();
  407.  
  408. // Открытие Word.
  409. OpenWord();
  410.  
  411. // Открытие блокнота.
  412. OpenNotePad();
  413.  
  414. // Выход из блока switch.
  415. break;
  416.  
  417. // Создание кнопки открытия приложений управления процессами.
  418. case "b1":
  419.  
  420. // Открытие диспетчера задач.
  421. OpenTaskManager();
  422.  
  423. // Запуск командной консоли.
  424. OpenCMD();
  425.  
  426. // Открытие проводника.
  427. OpenExplorer();
  428.  
  429. // Выход из блока switch.
  430. break;
  431.  
  432. // Создание кнопки открытия диспетчера задач.
  433. case "b2":
  434.  
  435. // Открытие диспетчера задач.
  436. OpenTaskManager();
  437.  
  438. // Выход из блока switch.
  439. break;
  440.  
  441. // Создание кнопки запуска командной консоли.
  442. case "b3":
  443.  
  444. // Запуск командной консоли.
  445. OpenCMD();
  446.  
  447. // Выход из блока switch.
  448. break;
  449.  
  450.  
  451. // Создание кнопки открытия проводника.
  452. case "b4":
  453.  
  454. // Открытие проводника.
  455. OpenExplorer();
  456.  
  457. // Выход из блока switch.
  458. break;
  459.  
  460. // Создание кнопки открытия приложений для занятия программированием.
  461. case "b6":
  462.  
  463. // Открытие PascalABC.
  464. OpenPascalABC();
  465.  
  466. // Открытие браузера.
  467. OpenBrowser();
  468.  
  469. // Выход из блока switch.
  470. break;
  471.  
  472. // Создание кнопки открытия PascalABC.
  473. case "b7":
  474.  
  475. // Открытие PascalABC.
  476. OpenPascalABC();
  477.  
  478. // Выход из блока switch.
  479. break;
  480.  
  481. // Создание кнопки открытия браузера.
  482. case "b8":
  483.  
  484. // Открытие браузера.
  485. OpenBrowser();
  486.  
  487. // Выход из блока switch.
  488. break;
  489.  
  490. // Создание кнопки открытия приложений для графического редактирования.
  491. case "b11":
  492.  
  493. // Открытие PowerPoint.
  494. OpenPowerPoint();
  495.  
  496. // Открытие Paint.
  497. OpenPaint();
  498.  
  499. // Выход из блока switch.
  500. break;
  501.  
  502. // Создание кнопки открытия PowerPoint.
  503. case "b12":
  504.  
  505. // Открытие PowerPoint.
  506. OpenPowerPoint();
  507.  
  508. // Выход из блока switch.
  509. break;
  510.  
  511. // Создание кнопки открытия Paint.
  512. case "b13":
  513.  
  514. // Открытие Paint.
  515. OpenPaint();
  516.  
  517. // Выход из блока switch.
  518. break;
  519.  
  520. // Создание кнопки открытия приложений для текстового редактирования.
  521. case "b16":
  522.  
  523. // Открытие Word.
  524. OpenWord();
  525.  
  526. // Открытие блокнота.
  527. OpenNotePad();
  528.  
  529. // Выход из блока switch.
  530. break;
  531.  
  532. // Создание кнопки открытия Word.
  533. case "b17":
  534.  
  535. // Открытие Word.
  536. OpenWord();
  537.  
  538. // Выход из блока switch.
  539. break;
  540.  
  541. // Создание кнопки открытия приложений для текстового редактирования.
  542. case "b18":
  543.  
  544. // Открытие блокнота.
  545. OpenNotePad();
  546.  
  547. // Выход из блока switch.
  548. break;
  549. }
  550.  
  551. }
  552.  
  553. });
  554.  
  555. // Добавление кнопки в окно.
  556. window.add(myButtons[i]);
  557.  
  558. }
  559.  
  560. // Установка текста на кнопках:
  561.  
  562. // Для открытия всех приложений одновременно.
  563. myButtons[0].setText("All apps");
  564.  
  565. // Для открытия приложений для управления процессами.
  566. myButtons[1].setText("Process control");
  567.  
  568. // Для открытия диспетчера задач.
  569. myButtons[2].setText("Task manager");
  570.  
  571. // Для запуска командной строки.
  572. myButtons[3].setText("CMD");
  573.  
  574. // Для открытия проводника.
  575. myButtons[4].setText("Explorer");
  576.  
  577. // Для открытия приложений для занятия программированием.
  578. myButtons[6].setText("Programming");
  579.  
  580. // Для открытия PascalABC.
  581. myButtons[7].setText("PascalABC");
  582.  
  583. // Для открытия браузера.
  584. myButtons[8].setText("Browser");
  585.  
  586. // Для открытия приложений графического редактирования.
  587. myButtons[11].setText("GraphicEdit");
  588.  
  589. // Для открытия PowerPoint.
  590. myButtons[12].setText("PowerPoint");
  591.  
  592. // Для открытия Paint.
  593. myButtons[13].setText("Paint");
  594.  
  595. // Для открытия приложений текстового редактирования.
  596. myButtons[16].setText("TextEdit");
  597.  
  598. // Для открытия Word.
  599. myButtons[17].setText("Word");
  600.  
  601. // Для открытия открытия блокнота.
  602. myButtons[18].setText("NotePad");
  603.  
  604. // Установка размеров окна автоматически.
  605. window.pack();
  606.  
  607. // Завершение работы приложения при закрытии окна.
  608. window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  609.  
  610. // Установка видимости окна.
  611. window.setVisible(true);
  612.  
  613. }
  614.  
  615. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement