Как подсветить синтаксис в своем блокноте? - Java

Узнай цену своей работы

Формулировка задачи:

Всем привет, такая проблема, есть написанный блокнот, надо сделать так, чтоб там, подсвечивался синтаксис java кода, не могу понять как это можно реализовать, новичок в этом...( Всем заранее большое спасибо!

Решение задачи: «Как подсветить синтаксис в своем блокноте?»

textual
Листинг программы
package avallon;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.io.*;
import java.util.Scanner;
 
 
 
public class MorozovPAD extends JFrame {
 
   private JEditorPane textArea = new JEditorPane();
    JTextPane jTextPanel = new JTextPane();
    JTextArea theText = new JTextArea();
    JPanel contentPanel;
    BorderLayout borderLayout = new BorderLayout();
    JMenu jMenuFile = new JMenu();
    JMenuBar jMenuBar = new JMenuBar();
    JLabel statusBar = new JLabel();
    JMenu File = new JMenu();
    JMenuItem open = new JMenuItem();
    JMenuItem save = new JMenuItem();
    JMenuItem exit = new JMenuItem();
 
    JMenu View= new JMenu();
    JMenuItem bold = new JMenuItem();
    JMenuItem italic = new JMenuItem();
 
    JMenu Copytext= new JMenu();
    JMenuItem copy = new JMenuItem();
    JMenuItem past = new JMenuItem();
    JMenuItem cut = new JMenuItem();
 
        JMenu Textoption= new JMenu();
    JMenuItem textj= new JMenuItem();
    JMenuItem texti= new JMenuItem();
    JMenuItem textp= new JMenuItem();
 
    JMenu Help= new JMenu();
    JMenuItem popi = new JMenuItem();
 
 
    public MorozovPAD() throws Exception {
        this.setSize (500,500);
        this.setTitle("MorozovPAD");
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        this.textArea.setFont(new Font("", Font.PLAIN, 14));
        this.getContentPane().setLayout(new BorderLayout());
        this.getContentPane().add(textArea);
 
        jMenuBar.add(File);
        jMenuBar.add(Copytext);
        jMenuBar.add(Textoption);
        jMenuBar.add(Help);
        setJMenuBar(jMenuBar);
 
 
                File.setText("Файл");
        open.setText("Открыть");
        File.add(open);
        save.setText("Сохранить");
        File.add(save);
        exit.setText("Выход");
        File.add(exit);
 
        exit.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent e)
           {
                System.exit(0);
            }
        });
   save.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
        JFileChooser save = new JFileChooser();
        int option = save.showSaveDialog(save);
        if (option == JFileChooser.APPROVE_OPTION) {
            try {
                BufferedWriter out = new BufferedWriter(new FileWriter(save.getSelectedFile().getPath()));
                out.write(textArea.getText());
                out.close();
            } catch (Exception ex) {
                System.out.println(ex.getMessage());
                }
        }
      }
    });
 
 
    open.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent arg0) {
         JFileChooser open = new JFileChooser();
                        int option = open.showOpenDialog(open);
                        if (option == JFileChooser.APPROVE_OPTION) {
                                theText.setText("");
                                try {
                                        Scanner scan = new Scanner(new FileReader(open.getSelectedFile().getPath()));
                                        while (scan.hasNext())
                                                textArea.setText(scan.nextLine() + "\n");
                                } catch (Exception ex) {
                                        System.out.println(ex.getMessage());
                                }
                        }
      }
    });
 
                
                Copytext.setText("Копирование");
        copy.setText("Копировать");
        Copytext.add(copy);
        past.setText("Вставить");
        Copytext.add(past);
        cut.setText("Вырезать");
        Copytext.add(cut);
                copy.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent e) {
                textArea.copy();
            }
        });
        past.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent e) {
                textArea.paste();
            }
        });
        cut.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent e) {
                textArea.cut();
            }
        });
 
 
                 Textoption.setText("Изменение шрифта");
        textj.setText("Жирный");
        Textoption.add(textj);
        texti.setText("Курсивный");
        Textoption.add(texti);
        textp.setText("Стандартный");
        Textoption.add(textp);
        texti.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent ae) {
                textArea.setFont(new Font ("TAHOMA", Font.ITALIC, 14));
            }
        });
        textj.addActionListener(new ActionListener() {
 
        public void actionPerformed(ActionEvent ae) {
               textArea.setFont(new Font ("", Font.BOLD, 14));
            }
        });
        textp.addActionListener(new ActionListener() {
 
        public void actionPerformed(ActionEvent ae) {
               textArea.setFont(new Font ("", Font.PLAIN, 14));
            }
        });
 
 
                Help.setText("Помощь");
        popi.setText("Подсказка");
        Help.add(popi);
        popi.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent e) 
            {
            JOptionPane.showMessageDialog(exit, "группа ИС42");
            }
        });
    }
 
    public static void main (String args[]) throws Exception{
        MorozovPAD app = new MorozovPAD();
        app.setVisible(true);
           }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5