Как добавить скролл в свой код не поломав его

package бот;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class бот {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        JTextPane okno11 = new JTextPane();

        JFrame okno = new JFrame("Справочник");
        JButton okno2 = new JButton("v");
        JButton okno3 = new JButton("^");
        
        JButton okn = new JButton("Консоль");
        JButton okn2 = new JButton("Импорт");
        JButton okn3 = new JButton("Окна");
        JButton okn4 = new JButton("Кнопки");
        JButton okn5 = new JButton("Цикл");
        JButton okn6 = new JButton("Рандомные числа");
        JButton okn7 = new JButton("Переменные");
        JButton okn8 = new JButton("Условия");
        JButton okn9 = new JButton("Как установить");
        JButton okn10 = new JButton("Массив");
        JButton okn11 = new JButton("char Массив");
        
        
        
        
        
        okn.setBounds(10, 10, 150, 50);
        okn2.setBounds(10, 60, 150, 50);
        okn3.setBounds(10, 110, 150, 50);
        okn4.setBounds(10, 160, 150, 50);
        okn5.setBounds(10, 210, 150, 50);
        okn6.setBounds(10, 260, 150, 50);
        okn7.setBounds(10, 310, 150, 50);
        okn8.setBounds(10, 360, 150, 50);
        okn9.setBounds(10, 410, 150, 50);
        
        okn10.setBounds(170, 10, 150, 50);
        okn11.setBounds(170, 60, 150, 50);
        
        
        
        okno.setBounds(100, 100, 1500, 900);
        okno.setVisible(true);
        okno.setLayout(null);
        
        
        okno2.setBounds(10,10,50,50);
        
        okno.add(okno2);
        
        okno11.setBounds(500,1,990,890);
        
        okno2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                okno.setVisible(false);
                JFrame okno1 = new JFrame("Справочник");
                okn.setBounds(10, 10, 150, 50);
                okn2.setBounds(10, 60, 150, 50);
                okn3.setBounds(10, 110, 150, 50);
                okn4.setBounds(10, 160, 150, 50);
                okn5.setBounds(10, 210, 150, 50);
                okn6.setBounds(10, 260, 150, 50);
                okn7.setBounds(10, 310, 150, 50);
                okn8.setBounds(10, 360, 150, 50);
                okn9.setBounds(10, 410, 150, 50);
                
                
                
                
                okno1.setBounds(100, 100, 1500, 900);
                okno1.setVisible(true);
                okno1.setLayout(null);
                
                okno1.add(okno11);
                
                
                okno1.add(okn);
                okno1.add(okn2);
                okno1.add(okn3);
                okno1.add(okn4);
                okno1.add(okn5);
                okno1.add(okn6);
                okno1.add(okn7);
                okno1.add(okn8);
                okno1.add(okn9);
                okno1.add(okn10);
                okno1.add(okn11);
                
                okno1.add(okno3);
                okno3.setBounds(10,500,50,50);
                
                okno3.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {

                       
                        okno1.setVisible(false);

                    }});

            }});
        okno3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

               
                okno.setVisible(true);

            }});
        
        //
        
        
        okn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

               
                okno11.setText("System.out.println(\"Сообщение\");\r\n" + 
                        "Вывод сообщения в консоль");

            }});
        
        okn2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

               
                okno11.setText("import javax.swing.*;\r\n" + 
                        "Позволяет создавать окна, кнопки и тд\r\n" + 
                        "\r\n" + 
                        "import java.awt.Color;\r\n" + 
                        "Позволяет красить кнопки\r\n" + 
                        "\r\n" + 
                        "import java.awt.event.ActionEvent;\r\n" + 
                        "import java.awt.event.ActionListener;\r\n" + 
                        "Позволяют ставить действие после нажатия на кнопку");
            }});
        okn3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

               
                okno11.setText("JFrame (название окна) = new JFrame();\r\n" + 
                        "Создание окна\r\n" + 
                        "\r\n" + 
                        "(название окна).setBounds(координаты расположения окна);\r\n" + 
                        "Расположение окна по экрану\r\n" + 
                        "\r\n" + 
                        "(название окна).setLayout(null);\r\n" + 
                        "Позволение окну распологать на себе кнопки\r\n" + 
                        "\r\n" + 
                        "(название окна).setVisible(true);\r\n" + 
                        "Позволение окну появляться на устройствах\r\n" + 
                        "\r\n" + 
                        "(название окна).add(компонент)\r\n" + 
                        "Добавление в окно компоненты (Кнопки, текст и тд)");

            }});
        okn4.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

               
                okno11.setText("JButton (название кнопки) = new JButton();\r\n" + 
                        "Создание кнопки\r\n" + 
                        "\r\n" + 
                        "(название кнопки).setBounds(координаты)\r\n" + 
                        "Размещение кнопки по координатам окна\r\n" + 
                        "\r\n" + 
                        "(название кнопки).setBackground(Color.(цвет заглавными буквами));\r\n" + 
                        "Покраска кнопки\r\n" + 
                        "\r\n" + 
                        "\r\n" + 
                        "(название кнопки).addActionListener(new ActionListener() {\r\n" + 
                        "                    public void actionPerformed(ActionEvent e) {\r\n" + 
                        "\r\n" + 
                        "                        (команда)\r\n" + 
                        "\r\n" + 
                        "                    }});\r\n" + 
                        "Эта команда добавляет действие которое будет выполняться после нажатия на кнопку");

            }});
        okn5.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

               
                okno11.setText("for(int i=1;i<=(количество повторенния команды);i++)\r\n" + 
                        "                {\r\n" + 
                        "        (команда)\r\n" + 
                        "        }\r\n" + 
                        "Эта команда делает цикл и повторяет команду которую нужно ввести между фигурными скобками");
            }});
        okn6.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

               
                okno11.setText("int a = (число от которого будет начинаться рандом); \r\n" + 
                        "          int b = (число на которое будет заканчиваться рандом); \r\n" + 
                        "\r\n" + 
                        "          int x = a + (int) (Math.random() * b); \r\n" + 
                        "\r\n" + 
                        "        Эта команда позволяет делать рандомные числа\r\n" + 
                        "\r\n" + 
                        "        Допустим от 1 до 15\r\n" + 
                        "\r\n" + 
                        "        int a = 1; \r\n" + 
                        "          int b = 15; \r\n" + 
                        "\r\n" + 
                        "          int x = a + (int) (Math.random() * b);");

            }});
        okn7.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

               
                okno11.setText("int (название переменной) = (какое число будет означать переменная);\r\n" + 
                        "Это переменная которая означает число\r\n" + 
                        "Она может может понадобиться в коде калькулятора или \r\n" + 
                        "с её помощью можно писать число в консоль \r\n" + 
                        "\r\n" + 
                        "int x = 10;\r\n" + 
                        "System.out.println(\"Это число \" + x);\r\n" + 
                        "\r\n" + 
                        "\r\n" + 
                        "String (название строки) = (текст);\r\n" + 
                        "Это переменная String, с её помощью можно писать и изменять текст не трогая код который пишет текст\r\n" + 
                        "\r\n" + 
                        "String g = \"Это число \";\r\n" + 
                        "int x = 10;\r\n" + 
                        "System.out.println(g + x);");

            }});
        okn8.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

               
                okno11.setText("Допустим у нас есть переменная (int x = 10) и мы хотим чтобы если эта переменная ровнялась 10-ти \r\n" + 
                        "то выполнялось действие а если она не ровнялась бы 10-ти то действие не выполнялось бы\r\n" + 
                        "\r\n" + 
                        "int x = 10;\r\n" + 
                        "if (x == 10) {\r\n" + 
                        "(команда)\r\n" + 
                        "}else{\r\n" + 
                        "(команда)\r\n" + 
                        "}\r\n" + 
                        "\r\n" + 
                        "if это условие что если переменная x будет равна 10-ти то будет выполняться команда\r\n" + 
                        "else это условие что если x будет равен чему угодно но не 10-ти то будет выполняться другая команда\r\n" + 
                        "\r\n" + 
                        "\r\n" + 
                        "Рассмотрим сценарий что нам надо условие при котором если x будет равен 10-ти тобудет выполняться одна команда\r\n" + 
                        "а если x будет равен 11-ти то будет выпольняться другая команда\r\n" + 
                        "\r\n" + 
                        "if (x == 10) {\r\n" + 
                        "(команда)\r\n" + 
                        "}else if (x == 11) {\r\n" + 
                        "(команда)\r\n" + 
                        "}\r\n" + 
                        "\r\n" + 
                        "А если нам надо условие при котором если x будет равен 10-ти тобудет выполняться одна команда\r\n" + 
                        "а если x будет равен 11-ти то будет выпольняться другая команда,\r\n" + 
                        "и если при условие что если ничего из прошлых условий не будет выполнено будет выполняться другая команда\r\n" + 
                        "\r\n" + 
                        "if(x == 10) {\r\n" + 
                        "(команда)\r\n" + 
                        "}else if (x == 11) {\r\n" + 
                        "(команда)\r\n" + 
                        "}else {\r\n" + 
                        "(команда)\r\n" + 
                        "}");
            }});
        okn9.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

               
                okno11.setText("https://club.1c.ru/java/install/index.php");

            }});
        
        okn10.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                
            okno11.setText(" Массивы это ячейки с перменными в которых могут содержаться несколько и больше переменных.\r\n" + 
                    "Но есть несколько типов массива, если создать массив одного типа например String то в этот массив нельзя помещать\r\n" + 
                    "других типов, так же все переменные в массиве обозначаются индексами, все индексы переменных в массиве начинаются с 0.\r\n" + 
                    "\r\n" + 
                    "String[] myArray = new String[4];\r\n" + 
                    "       myArray[0] = \"Злой \";\r\n" + 
                    "       myArray[1] = \"Добрый \";\r\n" + 
                    "       myArray[2] = \"Кот\";\r\n" + 
                    "       myArray[3] = \"Пёс\";\r\n" + 
                    "       System.out.println(myArray[1] + myArray[2]);\r\n" + 
                    "       System.out.println(myArray[0] + myArray[2]);\r\n" + 
                    "\r\n" + 
                    "       System.out.println(myArray[1] + myArray[3]);\r\n" + 
                    "       System.out.println(myArray[0] + myArray[3]);\r\n" + 
                    "Вывод:\r\n" + 
                    "\r\n" + 
                    "Добрый кот\r\n" + 
                    "Злой кот\r\n" + 
                    "Добрый пёс\r\n" + 
                    "Злой пёс\r\n" + 
                    "\r\n" + 
                    "\r\n" + 
                    "\r\n" + 
                    "В этот тип массива может содержать в себе только переменные int.\r\n" + 
                    "\r\n" + 
                    "int[] myArray = new int[4];\r\n" + 
                    "       myArray[0] = 10;\r\n" + 
                    "       myArray[1] = 5;\r\n" + 
                    "       myArray[2] = 15;\r\n" + 
                    "       myArray[3] = 20;\r\n" + 
                    "       \r\n" + 
                    "       System.out.println(myArray[0] + myArray[1] + myArray[2] + myArray[3]);\r\n" + 
                    "       System.out.println(myArray[0] * myArray[1] * myArray[2] * myArray[3]);\r\n" + 
                    "Вывод:\r\n" + 
                    "\r\n" + 
                    "50\r\n" + 
                    "15000");
                
        }});
        
        okn11.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

               
               okno11.setText("String s1 = \"Привет\";\r\n" + 
                    "        char[] charArray = s1.toCharArray();\r\n" + 
                    "        for (char c : charArray) {\r\n" + 
                    "            System.out.print(\" \" + c);\r\n" + 
                    "        }\r\n" + 
                    "    }\r\n" + 
                    "}\r\n" + 
                    "В приведенном выше блоке кода в качестве первого шага объявляется строка s1. Рядом с ним строка используется для создания массива символов. \r\n" + 
                    "Функция toCharArray используется для преобразования строки в массив char. Функция возвращает массив символов с длиной строки s1. \r\n" + 
                    "Он хранит символы в том же месте, что и символы в заданной строке s1.\r\n" + 
                    "\r\n" + 
                    "\r\n" + 
                    "Чтобы перебрать массив символов, вы используете цикл for each. В этом типе цикла не требуется явно указывать инициализацию значения счетчика или условия. \r\n" + 
                    "Вместо этого он объявляет переменную типа данных и коллекцию, по которой переменная данных должна повторяться. Наконец, в блоке цикла печатается переменная данных.\r\n" + 
                    "\r\n" + 
                    "Ниже приведена строка вывода для блока кода выше с добавленным пробелом между ними.\r\n" + 
                    "\r\n" + 
                    "Вывод:\r\n" + 
                    "\r\n" + 
                    " П р и в е т\r\n" + 
                    "\r\n" + 
                    "------------------------------------------------------------\r\n" + 
                    "\r\n" + 
                    "String s1 = \"Привет\";\r\n" + 
                    "        char[] charArray = new char[s1.length()];\r\n" + 
                    "        for (int i = 0; i < s1.length(); i++) {\r\n" + 
                    "            charArray[i] = s1.charAt(i);\r\n" + 
                    "            System.out.print(charArray[i]);\r\n" + 
                    "        }\r\n" + 
                    "    }\r\n" + 
                    "}\r\n" + 
                    "В приведенном выше блоке кода сначала инициализируется строка. Рядом с ним объявляется символьный массив с \r\n" + 
                    "использованием ключевого слова new. Размер массива char такой же, как и длина инициализированной строки s1. Размер заданной строки \r\n" + 
                    "оценивается с помощью метода length класса String. Метод возвращает длину символьной последовательности типа int.\r\n" + 
                    "\r\n" + 
                    "Определен цикл for для перебора массива. Первая строка цикла предназначена для инициализации массива char. \r\n" + 
                    "Он использует метод charAt() для копирования содержимого строки в массив и возвращает символ по определенному индексу. \r\n" + 
                    "Функция генерирует IndexOutOfBoundException, когда индекс выходит за пределы длины данной строки. Наконец, последовательность печатается в цикле.\r\n" + 
                    "\r\n" + 
                    "Ниже вы увидите вывод вышеуказанного кода без пробелов между ними.\r\n" + 
                    "\r\n" + 
                    "Вывод:\r\n" + 
                    "\r\n" + 
                    "Привет\r\n" + 
                    "\r\n" + 
                    "-----------------------------------------------------------\r\n" + 
                    "\r\n" + 
                    "char[] charArray2 = new char[]{'П','р','и','в','е','т''};\r\n" + 
                    "        String stringFromCharArray= new String(charArray2);\r\n" + 
                    "        System.out.println(stringFromCharArray);\r\n" + 
                    "    }\r\n" + 
                    "}\r\n" + 
                    "В предыдущем блоке кода объявление массива и инициализация происходят одновременно. Для инициализации используйте фигурные скобки {}. \r\n" + 
                    "Внутри фигурных скобок объявите последовательность символов, используя одинарные кавычки. Последовательность символов принимает размер \r\n" + 
                    "массива, который инициализируется в фигурных скобках, и не требует явного объявления размера.\r\n" + 
                    "\r\n" + 
                    "Теперь последовательность символов передается в конструктор String, чтобы преобразовать ее в строку. После этого эта последовательность \r\n" + 
                    "преобразуется в формат String, чтобы избежать зацикливания при манипулировании последовательностью. Наконец, строка печатается с помощью функции println().\r\n" + 
                    "\r\n" + 
                    "Ниже представлен вывод для печати преобразованной последовательности символов в формате String.\r\n" + 
                    "\r\n" + 
                    "Вывод:\r\n" + 
                    "\r\n" + 
                    "Привет");

            }});
        
        
        
    }

}

Ответы (0 шт):