private class LongNodeDialog extends EditDialog {
public LongNodeDialog(final RootPaneContainer frame, final String title, final Color background) {
super(EditNodeDialog.this, title, frame);
final IMapViewManager viewController = Controller.getCurrentModeController().getController()
.getMapViewManager();
final JScrollPane editorScrollPane;
if (textComponent == null) {
JTextArea textArea = new JTextArea(getText());
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textComponent = textArea;
editorScrollPane = new JScrollPane(textComponent);
final SpellCheckerController spellCheckerController = SpellCheckerController.getController();
spellCheckerController.enableAutoSpell(textComponent, true);
final Font nodeFont = viewController.getFont(getNode());
textComponent.setFont(nodeFont);
final Color nodeTextColor = viewController.getTextColor(getNode());
textComponent.setForeground(nodeTextColor);
textComponent.setBackground(background);
textComponent.setCaretColor(nodeTextColor);
editorScrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
int preferredHeight = viewController.getComponent(getNode()).getHeight();
preferredHeight = Math.max(preferredHeight, Integer.parseInt(ResourceController.getResourceController()
.getProperty("el__min_default_window_height")));
preferredHeight = Math.min(preferredHeight, Integer.parseInt(ResourceController.getResourceController()
.getProperty("el__max_default_window_height")));
int preferredWidth = viewController.getComponent(getNode()).getWidth();
preferredWidth = Math.max(preferredWidth, Integer.parseInt(ResourceController.getResourceController()
.getProperty("el__min_default_window_width")));
preferredWidth = Math.min(preferredWidth, Integer.parseInt(ResourceController.getResourceController()
.getProperty("el__max_default_window_width")));
editorScrollPane.setPreferredSize(new Dimension(preferredWidth, preferredHeight));