Crear un editor de textos con pestañas y reconocer sintaxis

Hola me gustaria saber como crear un editor de textos en java ya tengo hecho el editor pero no puedo programar que cada que se presione el boton de nuevo salga una pestaña nueva y tampoco que me reconozca la sintaxis de java por ejemplo como el crimson editor.
Me gustaria que me ayudaran gracias saludos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Para lo de la pestaña es más

Para lo de la pestaña es más o menos sencillo, tienes que agregar un action listener y usar un JTabbedPane ( ver : Como usar tabbed panes ( EN ) )

Para detectar la sintaxis de Java está más dificil, porque que asumiendo que pudieras "detectarla", supongo que lo que intentas es después "mostrar" esta detección en tu editor, lo cual no es trivial. Y para detectar la sintaxis misma, pues tampoco es trivial.

Lo que podrias hacer si en verdad quieres seguir con esto, es ver como lo hace algún editor de texto existente. Por ejemplo jEdit es un editor hecho en Java con el código fuente disponible. La desventaja(*) es que es un proyecto muy maduro y lleva años de desarrollo por lo que el código quizá no sea tan fácil de entender. Podrías intentar ir a la primera versión que exista del código ( o una de muy al inicio ) y quizá entonces el código sea más fácil de entender.

Suerte y postea lo que vayas encontrando.

Imagen de ezamudio

jEdit

Además el coloreado sintáctico de jEdit es extensible, puedes hacer un archivo de configuración para iluminar sintaxis e incluso indentación de varios lenguajes. Por ejemplo Oscar podría aventarse el archivo para que jEdit pueda colorear la sintaxis de archivos .ryz

Imagen de Nopalin

jEdit es muy bueno para

jEdit es muy bueno para colorear el contenido, pero realmente como editor de texto independiente deja mucho que desear, sobre todo por que la version que esta disponible para manejar en tu aplicacion es algo ya vieja y la mas nueva es todo un show que hasta la fecha nadie se ha aventado ya.

Si quieres utilizar un editor de texto, que te de las funciones basicas como coloreado, buscar, reemplazar, cortar, pegar, popup menu con boton secundario, etc, te recomiendo utilizar jSyntaxPane.

sobres

Por ejemplo Oscar podría

Por ejemplo Oscar podría aventarse el archivo para que jEdit pueda colorear la sintaxis de archivos .ryz

Ja! ni loco, digo... este .. ehem.. ehem..

Por lo pronto encontré que usando la sintaxsis te Lisp mi código resalta bonito.

Solo tengo que complementar mis comentarios así:

 

Oh bueno, en mi vim si se ven bien.