Для такой функциональности я считаю, что гораздо лучше использовать JTextArea и предоставить собственный базовый текстовый редактор.
В любом случае, взгляните на BareBonesBrowserLauncher . Это класс Java, который позволяет запускать браузер по умолчанию на любой платформе. Вы можете адаптировать его для своих нужд. Скопировано оттуда:
String[] editors = { "vim", "emacs", "vi",};
String editor = null;
for (int count = 0; count < editors.length && editors == null; count++)
if (Runtime.getRuntime().exec( new String[] {"which", editors[count]}).waitFor() == 0)
editor = editors[count];
if (editor == null)
throw new Exception("Could not find editor");
else Runtime.getRuntime().exec(new String[] {editor, filename});