Как подсветить синтаксис в своем блокноте? - 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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д