WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Архив » Как создать простой (расширяемый) текстовой редактор?

Как создать простой (расширяемый) текстовой редактор?


Дата публикации: 17-03-2013

Предложение от Nelson Yu

Здесь лежит пример текстового редактора "Notes":
http://ugweb.cs.ualberta.ca/~nelson/java/source/Notes.java

Это основна, хлеб с маслом, отдельного текстового редактора. Она использует следующие возможности:

1. Меню и строка меню (Menus, Menubar)
2. Окно (Frame)
3. Файловый диалог (FileDialog)
4. Текстовое поле (TextArea)

(В него встроена ошибка. Она проявляется под Win95 с JDK-Beta 1)
1,2 могут быть использованы в аплете через создание Frame динамически, с последующим созданием меню. FileDialog в аплете обычно неиспользуется, так как обычно аплет не может писать в каталоги пользователя. Но вы можете читать, писать файлы через и URLConnection и FileInputStream


2. Как создать простую форму запроса?

Предложение от Vivek Pabby

Ниже приведен пример кода класса, который содержит большинстов компонентов GUI, которые могут понадобиться при создании простой формы. Если вы возьмете, да и откомпилируете этот код, то тогда, его можно будет запускать через java.exe. В нагрузку к нему этот код содержит так же и некий обработчик нажатий юзером клавиш во время его работы с формой. Этот код находится в стадии бета-теста и заточен для работы с приложениями. Но проблем с его работой в качестве аплета под браузером Netscape наблюдаться не должно. (Не задудьте вставить комманду System.exit() если таки надумаете использовать его в виде аплета..)
[Примечание: Автор предусмотрительно предупреждает - этот код может содержать странные возможности.]

Исходный код


3. Как распознать обычную переменную? Хочется нечто сишного gerexp().

Предложение от Stephane Laveau, Jonathan Payne

Jonathan Payne's regex package

Предложение от Jim Laverty

Проверь Jack (Yacc для Java, написано на Java). Доступно на халяву с Sun. Он поможет вам построить граматические правила и сгенерировать Java парсер.


4. Как сделать двигающийся баннер? С возможностями быстрой, реверсивной прокрутки и остановки?

Предложение от Vivek Pabby

Смотри здесь и здесь.


5. Как обработать сложный ASCII текстовой файл?

Предложение от Ted Landry

Попробуй попробовать класс StreamTokenizer. (Он может быть использован для парсинга так же и потока как файла) А вот здесь есть хорошее объяснение: http://www.javaworld.com/javaworld/jw-01-1997/jw-01-ndepth.html

Предложение от Rafael Van Durm

Обрати свои очи на JavaCC - Java Compiler Compiler. http://www.suntest.com/JavaCC/index.html. JavaCC это парсер и генератор написанные на Java. Они производят чистый код Java. Оба, JavaCC и парсер сгенерированный JavaCC могут запускаться на самых разнообразных платформах Java. JavaCC поставляется с пачкой граматических правил включающих спецификации Java 1.0.2 и Java 1.1, и кроме этого еще и HTML правила.


6. Как заставить приложение посылать и принимать почту?

Предложение от Harm Verbeek

Тут можно посомтреть, как отсылать почту http://www.pi.net/~hverbeek/Java.html.

А здесь, как принимать почту http://www.pi.net/~hverbeek/Java.html.

Предложение от Bill Giel

GUESTBOOK.JAVA содержит код, который может быть весьма ползительным тем, кто пытается накрапать класс, который будет пытаться посылать e-mail. Посмотреть, как он работает можно здесь http://www.nai.net/~rvdi/home.htm, а тут от него лежит исходный код http://www.nai.net/~rvdi/guestbook.java.


7. Как печатать на принтер?

Предложение от Randy Kuang

Для печати на принтер вы можете открыть файл, именем которого будет принтер (устройство принтер). Например, если ваш локальный принтер подцеплен к "lpt1", вы можете написать нечто похожее:

private void print(String report)
{
if (report != "") {

PrintWriter out = null;
try {
out = new PrintWriter(new BufferedWriter(new FileWriter("lpt1")));
} catch ( IOException e) {};

System.out.println("Report to be printed is : " + report);
out.print(report);
out.flush();
out.close();
}

Этот код работает хорошо. Если же ваш принтер сетевой, то нужно его примонтировать к системе - "net use lpt1 [the printer]".

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Март 2017 (1)
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 2015 (1)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта

Хотите продать свой сайт?
- Мы быстро и удобно для Вас сможем его купить:
  • Заявка на продажу сайта
  • Раcсматриваем цены на каждый сайт в индивидуальном порядке.

    Случайная цитата

    Неизвестный автор:

    "Случайное красивым не бывает."

    Опрос

    Какой текстовый редактор Вы используете?

    OpenOffice
    AbiWord
    Notepad++
    UltraEdit
    PSPad
    Microsoft Office
    Microsoft Блокнот
    Другой...