Java text editor app 📓

Поділитися
Вставка
  • Опубліковано 14 січ 2025

КОМЕНТАРІ • 114

  • @BroCodez
    @BroCodez  4 роки тому +24

    public class Main {
    public static void main(String[] args) {

    new TextEditor();
    }
    }
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.filechooser.*;
    public class TextEditor extends JFrame implements ActionListener{
    JTextArea textArea;
    JScrollPane scrollPane;
    JLabel fontLabel;
    JSpinner fontSizeSpinner;
    JButton fontColorButton;
    JComboBox fontBox;

    JMenuBar menuBar;
    JMenu fileMenu;
    JMenuItem openItem;
    JMenuItem saveItem;
    JMenuItem exitItem;
    TextEditor(){
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setTitle("Bro text Editor");
    this.setSize(500, 500);
    this.setLayout(new FlowLayout());
    this.setLocationRelativeTo(null);

    textArea = new JTextArea();
    textArea.setLineWrap(true);
    textArea.setWrapStyleWord(true);
    textArea.setFont(new Font("Arial",Font.PLAIN,20));

    scrollPane = new JScrollPane(textArea);
    scrollPane.setPreferredSize(new Dimension(450,450));
    scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

    fontLabel = new JLabel("Font: ");

    fontSizeSpinner = new JSpinner();
    fontSizeSpinner.setPreferredSize(new Dimension(50,25));
    fontSizeSpinner.setValue(20);
    fontSizeSpinner.addChangeListener(new ChangeListener() {
    @Override
    public void stateChanged(ChangeEvent e) {

    textArea.setFont(new Font(textArea.getFont().getFamily(),Font.PLAIN,(int) fontSizeSpinner.getValue()));
    }

    });

    fontColorButton = new JButton("Color");
    fontColorButton.addActionListener(this);

    String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();

    fontBox = new JComboBox(fonts);
    fontBox.addActionListener(this);
    fontBox.setSelectedItem("Arial");

    // ------ menubar ------

    menuBar = new JMenuBar();
    fileMenu = new JMenu("File");
    openItem = new JMenuItem("Open");
    saveItem = new JMenuItem("Save");
    exitItem = new JMenuItem("Exit");

    openItem.addActionListener(this);
    saveItem.addActionListener(this);
    exitItem.addActionListener(this);

    fileMenu.add(openItem);
    fileMenu.add(saveItem);
    fileMenu.add(exitItem);
    menuBar.add(fileMenu);

    // ------ /menubar ------

    this.setJMenuBar(menuBar);
    this.add(fontLabel);
    this.add(fontSizeSpinner);
    this.add(fontColorButton);
    this.add(fontBox);
    this.add(scrollPane);
    this.setVisible(true);
    }

    @Override
    public void actionPerformed(ActionEvent e) {

    if(e.getSource()==fontColorButton) {
    JColorChooser colorChooser = new JColorChooser();

    Color color = colorChooser.showDialog(null, "Choose a color", Color.black);

    textArea.setForeground(color);
    }

    if(e.getSource()==fontBox) {
    textArea.setFont(new Font((String)fontBox.getSelectedItem(),Font.PLAIN,textArea.getFont().getSize()));
    }

    if(e.getSource()==openItem) {
    JFileChooser fileChooser = new JFileChooser();
    fileChooser.setCurrentDirectory(new File("."));
    FileNameExtensionFilter filter = new FileNameExtensionFilter("Text files", "txt");
    fileChooser.setFileFilter(filter);

    int response = fileChooser.showOpenDialog(null);

    if(response == JFileChooser.APPROVE_OPTION) {
    File file = new File(fileChooser.getSelectedFile().getAbsolutePath());
    Scanner fileIn = null;

    try {
    fileIn = new Scanner(file);
    if(file.isFile()) {
    while(fileIn.hasNextLine()) {
    String line = fileIn.nextLine()+"
    ";
    textArea.append(line);
    }
    }
    } catch (FileNotFoundException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    finally {
    fileIn.close();
    }
    }
    }
    if(e.getSource()==saveItem) {
    JFileChooser fileChooser = new JFileChooser();
    fileChooser.setCurrentDirectory(new File("."));

    int response = fileChooser.showSaveDialog(null);

    if(response == JFileChooser.APPROVE_OPTION) {
    File file;
    PrintWriter fileOut = null;

    file = new File(fileChooser.getSelectedFile().getAbsolutePath());
    try {
    fileOut = new PrintWriter(file);
    fileOut.println(textArea.getText());
    }
    catch (FileNotFoundException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    finally {
    fileOut.close();
    }
    }
    }
    if(e.getSource()==exitItem) {
    System.exit(0);
    }
    }
    }

    • @maxwong1768
      @maxwong1768 2 роки тому

      You forgot to post your comment at the top .

    • @joyceasante8292
      @joyceasante8292 Рік тому

      Practicing...
      I think I'll need to rewatch the video.
      public class Main{
      public static void main(String[]args){
      new TextEditor();
      }
      }
      ****************
      import java.awt.*;
      import java.awt.event.*;
      import java.io.*;
      import java.util.*;
      import javax.swing.*;
      import javax.swing.event.*;
      import javax.swing.filechooser.*;
      public class TextEditor extends JFrame implements ActionListener{
      JTextArea textArea;
      JScrollPane scrollPane;
      JLabel fontLabel;
      JSpinner fontSizeSpinner;
      JButton fontColorButton;
      JComboBox fontBox;
      JMenuBar menuBar;
      JMenu fileMenu;
      JMenuItem openItem;
      JMenuItem saveItem;
      JMenuItem exitItem;
      TextEditor(){
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      this.setTitle("Text Editor App");
      this.setSize(380,380);
      this.setLayout(new FlowLayout());
      this.setLocationRelativeTo(null);

      textArea = new JTextArea();
      textArea.setPreferredSize(new Dimension(250,250));
      textArea.setLineWrap(true);
      textArea.setWrapStyleWord(true);
      textArea.setFont(new Font("Times New Roman", Font.PLAIN,18));
      scrollPane = new JScrollPane(textArea);
      scrollPane.setPreferredSize(new Dimension(420,420));
      scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
      fontLabel = new JLabel("Font: ");

      fontSizeSpinner = new JSpinner();
      fontSizeSpinner.setPreferredSize(new Dimension(50,25));
      fontSizeSpinner.setValue(20);
      fontSizeSpinner.addChangeListener(new ChangeListener() {
      @Override
      public void stateChanged(ChangeEvent e){
      textArea.setFont(new Font(textArea.getFont().getFamily(),Font.PLAIN,(int)fontSizeSpinner.getValue()));
      }
      });
      fontColorButton = new JButton("Color");
      fontColorButton.addActionListener(this);
      String[]fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
      fontBox = new JComboBox(fonts);
      fontBox.addActionListener(this);
      fontBox.setSelectedItem("Times New Roman");
      menuBar = new JMenuBar();
      fileMenu = new JMenu("File");
      openItem = new JMenuItem("Open");
      saveItem = new JMenuItem("Save");
      exitItem = new JMenuItem("Exit");
      openItem.addActionListener(this);
      saveItem.addActionListener(this);
      exitItem.addActionListener(this);

      fileMenu.add(openItem);
      fileMenu.add(saveItem);
      fileMenu.add(exitItem);
      menuBar.add(fileMenu);

      this.setJMenuBar(menuBar);
      this.add(fontLabel);
      this.add(fontSizeSpinner);
      this.add(fontColorButton);
      this.add(fontBox);
      this.add(scrollPane);
      this.setVisible(true);

      }
      @Override
      public void actionPerformed(ActionEvent e){
      if(e.getSource()==fontColorButton){
      JColorChooser colorChooser = new JColorChooser();
      Color color = colorChooser.showDialog(null, "Color Choice", Color.black);
      textArea.setForeground(color);
      }
      if(e.getSource()==fontBox){
      textArea.setFont(new Font((String)fontBox.getSelectedItem(),Font.PLAIN,textArea.getFont().getSize()));
      }
      if(e.getSource()==openItem){
      JFileChooser fileChooser = new JFileChooser();
      fileChooser.setCurrentDirectory(new File("."));
      FileNameExtensionFilter filter = new FileNameExtensionFilter("Text files","txt");
      fileChooser.setFileFilter(filter);
      int response = fileChooser.showOpenDialog(null);
      if(response==JFileChooser.APPROVE_OPTION){
      File file = new File(fileChooser.getSelectedFile().getAbsolutePath());
      Scanner fileIn = null;
      try{
      fileIn = new Scanner(file);
      if(file.isFile()){
      while(fileIn.hasNextLine()){
      String line = fileIn.nextLine()+"
      ";
      textArea.append(line);
      }
      }
      }catch(FileNotFoundException e1){
      e1.printStackTrace();
      }
      }
      }
      if(e.getSource()==saveItem){
      JFileChooser fileChooser = new JFileChooser();
      fileChooser.setCurrentDirectory(new File("."));
      int response = fileChooser.showSaveDialog(null);
      if(response == JFileChooser.APPROVE_OPTION){
      File file;
      PrintWriter fileOut;
      file = new File(fileChooser.getSelectedFile().getAbsolutePath());
      try{
      fileOut = new PrintWriter(file);
      fileOut.println(textArea.getText());
      }
      catch(FileNotFoundException e1){
      e1.printStackTrace();
      }
      finally{
      }
      }
      }

      if(e.getSource()==exitItem){
      System.exit(0);
      }
      }
      }

  • @sewek1513
    @sewek1513 2 роки тому +7

    Thank you! With every video I feel like you are good in finding sweet spot between teaching a lot but not too much at one time :)

  • @SolidSnake4705
    @SolidSnake4705 3 роки тому +14

    The nuclear launch codes folder never gets old, I wonder whats in there :D

  • @isaie9057
    @isaie9057 4 роки тому +7

    hello again my friend thank you for the Tutorial

    • @BroCodez
      @BroCodez  4 роки тому +3

      thank you for watching

  • @greekrapindustry
    @greekrapindustry Рік тому +1

    38:58 the reason this guy is the best, out of 10 different playlists, with 100 or more videos in each with every each one having a duration of 10 min or more, he isnt bored and he still leaving amazing tuturial details like this one, its like even if u wanted to find this clip of him messing around with the fontSizeSpinner that he created, u couldnt, its so deep hidden but yet ultra entertaining

  • @trailblazer4227
    @trailblazer4227 3 роки тому +3

    What you do is pure art!

  • @marcusaureliusregulus2833
    @marcusaureliusregulus2833 3 роки тому +7

    Wow. Now I see why people say it takes a lot more lines of code to do the same in java

  • @prizepig
    @prizepig 2 роки тому +1

    This great for tying all the previous lessons together. Thanks for making these!

  • @VickyKumar-id9ff
    @VickyKumar-id9ff Рік тому

    Veri nice text editor app by using java

  • @tasneemayham974
    @tasneemayham974 Рік тому +1

    MORE THAN 750K!!! YOU DESERVE IT BROO!!
    LOOKING FORWARD FOR 1 M AND MORE!!!!!

  • @sergeyovcharuk5549
    @sergeyovcharuk5549 2 роки тому +1

    You are doing great job for java newbie

  • @Saalltt
    @Saalltt 15 днів тому

    Amazing 😍 bro 👏

  • @williamsenior717
    @williamsenior717 2 роки тому +1

    Thank you for the tutorial.

  • @rorydaines3176
    @rorydaines3176 3 роки тому +8

    "Welcome to my desktop everybody" with a tinge of embarrassment like someone touring their house and showing their not so messy room as messy.
    Fucking love it lol.

    • @turrnut
      @turrnut 3 роки тому +1

      no idea what you're talking about

    • @JasonKazz
      @JasonKazz 2 роки тому +1

      @@turrnut 32:35

  • @jianhe
    @jianhe 3 роки тому +2

    Your voice is gentle. Thanks, Bro.

  • @dragomirpetrov5138
    @dragomirpetrov5138 2 роки тому +2

    I literally cannot stop watching these! All your courses are spot on!

  • @kurori2494
    @kurori2494 Рік тому

    This kind of simple program made me motivated enough to keep learning java as a beginner

    • @ApertureDG
      @ApertureDG 8 місяців тому

      Yeah. You need to do mechanical coding constantly. This helps to understand whole point and functions.

  • @sawyeeee
    @sawyeeee 10 місяців тому +1

    lol!!! the why are you still watching at the end got me. I couldn't stop. Great tutorial!

  • @thanmayram
    @thanmayram 3 роки тому +3

    This is going to be the inspiration for my project, thank you

  • @awindustries1672
    @awindustries1672 2 роки тому

    awsome

  • @ricardochica4339
    @ricardochica4339 3 роки тому +2

    Thanks to you I'm really making progress into programming, thank you so much!

  • @brianwkinyua
    @brianwkinyua 2 місяці тому

    You were right! That font combo-box thing did blow my mind! ( time : 17:09 ) Thank you again.

  • @Mirtguitar
    @Mirtguitar Рік тому

    Good Tutorial

  • @heshhash6786
    @heshhash6786 Рік тому

    💯💯

  • @kabukidanshi7874
    @kabukidanshi7874 3 роки тому +1

    I recently started with java so this project it's really good to practice. Thank you!

  • @xog4625
    @xog4625 3 роки тому

    ur god damn underrated , but you don't care about it . This is what we call a legendary god. i subed

  • @eugenezuev7349
    @eugenezuev7349 6 місяців тому

    I feel like a grown programmer))
    Thanks, bro

  • @kemann3815
    @kemann3815 3 роки тому

    Lovely

  • @obzdg9953
    @obzdg9953 2 роки тому +1

    damn , you are exactly what i am looking for, keep going such videos thanks a lot

  • @ANGEL_GFREENS
    @ANGEL_GFREENS 3 роки тому

    Love u bro keep on coming these helpful videos i subscribed u

  • @socaljusticewarrior558
    @socaljusticewarrior558 3 роки тому

    Bro code is the absolute best. I can't believe I wasted time with other Java tutorial youtubers

  • @НікітаОрлов-с3ч

    Thank for the best lessons i have ever seen!!!!!!

  • @mariorossi1456
    @mariorossi1456 4 роки тому +1

    Congratulations for reaching 2k subs!!!!

    • @BroCodez
      @BroCodez  4 роки тому

      thanks! We did it Mario

  • @mhingjhangang2015
    @mhingjhangang2015 3 роки тому

    Thank you sir

  • @kingkock1
    @kingkock1 2 роки тому

    fantastic. thank you bro

  • @kanika6719
    @kanika6719 3 роки тому

    YAYYYYYYYYYYYYYYYY!!!!!!!!!CONGRATULATIONS FOR 100K😍😍😍

  • @kardrynka
    @kardrynka Рік тому

    Great vid.

  • @MrMaterialsman1
    @MrMaterialsman1 2 роки тому

    thanks 👏

  • @MrLoser-ks2xn
    @MrLoser-ks2xn 2 роки тому

    Thanks

  • @aruldilip9430
    @aruldilip9430 3 роки тому

    👍

  • @attalaw36
    @attalaw36 4 роки тому +2

    thank you every thing is good ( sound , video quality , colors , time ) ❤

  • @jajaceek
    @jajaceek 4 роки тому +1

    great project, thanks Bro.

    • @BroCodez
      @BroCodez  4 роки тому

      thanks for watching jajaceek

  • @SizarieldoR
    @SizarieldoR 3 роки тому

    nice

  • @Ovvnm
    @Ovvnm 3 роки тому

    it was really great video i got to knew about some better stuff in java thank you

  • @UninspiredFilm5
    @UninspiredFilm5 6 місяців тому

    Why am I not surprised you have exactly what I need

  • @saif37278
    @saif37278 3 роки тому

    Please add more projects to this playlist.

  • @irizjuh1321
    @irizjuh1321 Рік тому

    Thank you, wonderful tutorial! I was able to follow along quite easily. I don't know if it's a project or a funny name for a tutorial or smth, but I couldn't help but laugh when noticing a folder named 'Nuclear launch codes' in your desktop.

  • @JohnSmithM2C
    @JohnSmithM2C 3 роки тому +1

    @Bro Code i really like this tutorial u made :)
    but i think u should make a "find" function,im also making a option that makes the framecolor yellow,black,or white (includes textarea)

  • @BohdanAndrashko
    @BohdanAndrashko 2 роки тому

    "Why are you still watching" tho in the end XD

  • @Dalveet
    @Dalveet 3 роки тому +1

    thanks for video its good tutorial in this theme, but i have 1 question, why u not added the txt type for saving file?

  • @trikkee
    @trikkee 3 місяці тому

    Thank you !

  • @VeeGotThePower
    @VeeGotThePower Рік тому

    Let's Go Bro!

  • @feritkardal
    @feritkardal 3 роки тому +1

    How to auto write the previous object as in this video 10:22
    Please let me know.

  • @t_dila
    @t_dila Рік тому

    Thank you so much for this video. I want to know that did you use design patterns to build this app, if yes can you name them?

  • @manikantanarra1654
    @manikantanarra1654 3 роки тому

    This guy is a legend

  • @wolanus
    @wolanus 4 роки тому

    Great video, as always :)

  • @bilalinamdar6989
    @bilalinamdar6989 3 роки тому

    Can you please tell me how to add bold italic and underline into the editor

  • @natancorreia1702
    @natancorreia1702 3 роки тому

    Thank you bro, u hellped me a lot

  • @zatgangsta1939
    @zatgangsta1939 3 роки тому

    Absolute fire vid

  • @davidtozz
    @davidtozz 3 роки тому

    Will you ever do this again but in javafx? Have a Good one bro :)

  • @ibrahimadedayo800
    @ibrahimadedayo800 5 місяців тому

    The ending was hilarious

  • @tarekegnadal5774
    @tarekegnadal5774 2 роки тому

    Thank You !!!!

  • @stormpegasus7360
    @stormpegasus7360 3 роки тому

    Just what i needed

  • @Re9sTwitch
    @Re9sTwitch 4 роки тому

    Lol! Oh god - Hilarious. Thanks again for a great vid. The amount of time you must put into these! Much appreciated.

  • @maxwong1768
    @maxwong1768 2 роки тому +1

    There is another way to read the text in a file , which you have mentioned before in file reader .
    /*
    // another style
    public void open() {

    fileChooser = new JFileChooser() ;
    fileChooser.setDialogTitle("Open file") ;
    fileChooser.setCurrentDirectory(new File("./src")) ;
    // filter out the files that don't have specific extension name (.txt) .
    FileNameExtensionFilter filter = new FileNameExtensionFilter("Text files" , "txt") ; // (title , file extension name)
    fileChooser.setFileFilter(filter) ;

    // show the window for opening file .
    int response = fileChooser.showSaveDialog(null) ;
    // if [Open] is pressed or [file] is double clicked .
    if (response == JFileChooser.APPROVE_OPTION) {

    // get the absolute pathname of opened file .
    File file = new File(fileChooser.getSelectedFile().getAbsolutePath()) ;;

    FileReader reader ;

    // if opened file is file , not folder .
    if (file.isFile()) {
    try {
    reader = new FileReader(file) ;
    // clean the textArea before you add file text on it .
    textArea.setText("") ;
    int data = reader.read() ;

    while (data != -1) {
    textArea.append(String.valueOf((char)data)) ;
    data = reader.read() ;
    }

    // it's a good behavior to close I/O stream when not in use .
    reader.close() ;

    openedfileText = textArea.getText() ;
    // remind user the open process has finished .
    JOptionPane.showMessageDialog(null , "You have opened successfully .") ;
    }
    catch (IOException e1) {
    e1.printStackTrace();
    }
    }
    }
    }
    */

  • @itsmeHazePlays
    @itsmeHazePlays 2 роки тому

    how to make the selected text become bigger font size not all text?

  • @mesutcaga596
    @mesutcaga596 3 роки тому

    wow thx

  • @nawfalnjm5699
    @nawfalnjm5699 3 роки тому

    thanks man , great video !

  • @hempathak7001
    @hempathak7001 8 місяців тому

    your code is correct but in full mode menubar not display correctly can you please do this in netbeans ide where we can design the layout first then code it for logic. rest things is good.

  • @tasneemayham974
    @tasneemayham974 Рік тому

    Hey!!
    I was wondering how to make a button that bolds and un-bolds the textArea. I made it so that it will bolden it, but I don't know how to make it un-bold using the same button. Do you think you could help me, please? Thank you!!

  • @yeonve
    @yeonve 3 роки тому

    Do you have discord server or Social media?

  • @aochoa23
    @aochoa23 5 місяців тому +1

    Why are you still watching? :D

  • @ravindradesai7357
    @ravindradesai7357 4 роки тому +1

    My JSpinner is not working can you please help

  • @ehh_dev2546
    @ehh_dev2546 2 роки тому

    YEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEET!!!!!

  • @safuraarif8529
    @safuraarif8529 4 роки тому

    my scroll bar isn't scrolling down its only fitting to the size how do I fix this

  • @klearkhoswashokani1797
    @klearkhoswashokani1797 Рік тому

    kemo baba kazanacak

  • @yuminliu8750
    @yuminliu8750 3 роки тому

    i love you bro

  • @adamoja4295
    @adamoja4295 3 роки тому

    Haha why are you still watching . Really good tutorial !

  • @thiagomorais6931
    @thiagomorais6931 2 роки тому

    You saved my life bro

  • @yeonve
    @yeonve 3 роки тому

    TYSM

  • @arthuralunts5424
    @arthuralunts5424 2 роки тому

    Hey Bro, how to create editor without TextArea element, only need drawString() from paintComponent() in JFrame?

  • @sayuri-san8807
    @sayuri-san8807 Рік тому

    Does the code work on netbeans?

  • @socaljusticewarrior558
    @socaljusticewarrior558 3 роки тому +1

    I came across a weird problem the second time I did this. My scroll bar doesn't readjust when I add more text. I was wondering if there was some method by which I could change this. I tried looking myself, but alas it is impossible to know what the heck Oracle ever means by anything.

    • @socaljusticewarrior558
      @socaljusticewarrior558 3 роки тому

      Update. It's because I gave both the label and the scroll panel dimensions. 😅

  • @arkamukhopadhyay2177
    @arkamukhopadhyay2177 4 роки тому

    textArea.setText("Your videos are the best");

  • @bhms-binary
    @bhms-binary 2 роки тому

    5:14 "Press F" 😭

  • @loloflower98
    @loloflower98 3 роки тому

    :D

  • @omardumet120
    @omardumet120 3 роки тому

    thanks bro!

  • @jookie2210
    @jookie2210 2 роки тому

    you should've added Dark Mode

  • @zboobafett5984
    @zboobafett5984 4 роки тому

    Thanks mate !!

  • @piotrpiotrowicz17
    @piotrpiotrowicz17 4 роки тому +1

    Thanks a lot! Any idea how to add option "new" to open blank a new file?

    • @jett8692
      @jett8692 4 роки тому

      I used textArea.setText(""); to clear the text but there might be a better way.

    • @eddiegutierrezz
      @eddiegutierrezz 3 роки тому

      @@jett8692 Me too, but with the font chooser, size and color. Need to restart each one to youre default one.

  • @CraftingBenny
    @CraftingBenny 4 роки тому

    What do I need to do, so I can export it, so I can use it from my Desktop?
    But great Video!

    • @BroCodez
      @BroCodez  4 роки тому

      Here's a video on that:
      ua-cam.com/video/jKlyHG-zbjk/v-deo.html&ab_channel=BroCode

  • @MathSMR42
    @MathSMR42 11 місяців тому

    just beating the algo

  • @katendetimothy6542
    @katendetimothy6542 3 роки тому

    I'm still watching 'cause the video is still going on. lol!!!!!!

  • @chandupotturi287
    @chandupotturi287 3 роки тому

    Bro source code I want how may I getting source code

  • @techiewiskers
    @techiewiskers 4 роки тому

    Oh I am we are in the middle of a pandemic so UA-cam is kind of my dojo I’m very so I don’t have an actual dojo

  • @sacmarv8997
    @sacmarv8997 2 роки тому

    this is way too complicated for me as an absolute beginner............

  • @skillR-243
    @skillR-243 3 роки тому +1

    this is a random coment

  • @honoredegg
    @honoredegg 2 роки тому

    92th. Thank you, ma Bro Sensei! System.out.println(":^)");