public void createShowTextFrame(final String title, final String text, Class<?> parserGenerator) {
final JPanel panel = new JPanel();
final JFrame frame = this.createSmallFrame(panel, title);
final LuposDocument document = new LuposDocument();
final JTextPane tp = new LuposJTextPane(document);
Method method;
try {
method = parserGenerator.getMethod("createILuposParser", LuposDocumentReader.class);
Object createdParser = method.invoke(null, new LuposDocumentReader(document));
document.init((ILuposParser) createdParser, true);
} catch (SecurityException e) {
System.err.println(e);
e.printStackTrace();
} catch (NoSuchMethodException e) {
System.err.println(e);
e.printStackTrace();
} catch (IllegalArgumentException e) {
System.err.println(e);
e.printStackTrace();
} catch (IllegalAccessException e) {
System.err.println(e);
e.printStackTrace();
} catch (InvocationTargetException e) {
System.err.println(e);
e.printStackTrace();
}
tp.addKeyListener(this.getKeyListener(frame));
tp.setFont(new Font("Courier New", Font.PLAIN, 12));
tp.setEditable(false);
tp.setText(text);
new LinePainter(tp, new Color(202, 223, 245));
final JScrollPane scroll = new JScrollPane(tp);