# JEditorPane soll HTML und dann Text anzeigen..?



## sirbender (17. Aug 2009)

Ich will HTML anzeigen. Wenn ich in die JEditorPane klicke will ich das der HTML verschwindet und sich das JEditorPane wie eine JTextArea verhaelt. Wenn ich setText(null) setze ist der Cursor seltsamerweise ganz rechts.

Auch Austauschen von Editorkit/Document scheint nicht zu klappen.

Kann mir jemand helfen?

Vielen Dank 


```
public class JHtmlPane {
	
	public static void main(String[] args) throws IOException {
	    String html_text = "http://www.jedit.org/users-guide/index.html";
//		JEditorPane disp = new JEditorPane("text/html", html_text);
		final JEditorPane view = new JEditorPane(html_text);
		System.out.println(view.getEditorKit());
//	    view.setEditable(false);
	    
		view.setBorder(new LineBorder(Color.red));
		view.setForeground(Color.gray);
		view.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
//				view.setEditorKit(new DefaultEditorKit());
//				view.setDocument(new PlainDocument());
				view.setText(null);
				view.setCaretPosition(0);
				System.out.println(view.getEditorKit());
				view.setForeground(Color.black);
				
				view.removeMouseListener(this);
			}
		});
	    
        JFrame frame = new JFrame("");
        JComponent panel = view;
        frame.setContentPane(new JScrollPane(panel));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setPreferredSize(new Dimension(600,400));
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setAlwaysOnTop(true);
        frame.setVisible(true);
	}

}
```


----------



## sibianu (17. Aug 2009)

Ich verstehe noch nicht ganz was du machen willst aber ich versuche trotzdem zu helfen. Wenn du den Text löschen willst dann mach einfach setText(""); .
Austauschen vom Document: einfach ein Document erstellen und dann mit setDocument(deinDocument) austauschen. Ich verstehe noch nicht warum das nicht gehen soll, ich habe das oft genug gemacht.


----------



## sirbender (17. Aug 2009)

sibianu hat gesagt.:


> Ich verstehe noch nicht ganz was du machen willst aber ich versuche trotzdem zu helfen. Wenn du den Text löschen willst dann mach einfach setText(""); .
> Austauschen vom Document: einfach ein Document erstellen und dann mit setDocument(deinDocument) austauschen. Ich verstehe noch nicht warum das nicht gehen soll, ich habe das oft genug gemacht.



Ich hab doch oben den Source-Code angehaengt. Wenn ich setText("") aufrufe erscheint der Cursor ganz rechts. Ich will ihn aber ganz links.

Ich dachte ich kann dies beheben indem ich Document und Editorkit neu setze. Aber auch das klappt nicht.


----------



## sibianu (17. Aug 2009)

Du hast ja nicht setText("") gemacht, sondern setText(null). Wenn es daran nicht liegen sollte, hast du vielleicht die ComponentOrientation RIGHT_TO_LEFT? Aber das kann eigentlich nicht sein wenn das daoben dein kompletter Code ist, es sei den deine Sprache in Windows ist eine rechts-links Sprache. 
JEditorPane ist voll mit Fehler, also nicht wundern wenn du ab und zu solche komischen Effekte bekommst.


----------



## sirbender (17. Aug 2009)

sibianu hat gesagt.:


> Du hast ja nicht setText("") gemacht, sondern setText(null). Wenn es daran nicht liegen sollte, hast du vielleicht die ComponentOrientation RIGHT_TO_LEFT? Aber das kann eigentlich nicht sein wenn das daoben dein kompletter Code ist, es sei den deine Sprache in Windows ist eine rechts-links Sprache.
> JEditorPane ist voll mit Fehler, also nicht wundern wenn du ab und zu solche komischen Effekte bekommst.




Hallo? setText hat keinen Einfluss auf gar nichts! Wenn ich schon Code dazupacke waer es gut wenn den jemand schnell ausfuehrt anstatt einfach mal total blind zu spekulieren.

Du weiss ja noch nicht mal genau was ich meine wenn du nicht den Code ausfuehrst.

Das Problem ist, dass es immer noch eine JEditorPane im HTML Modus ist nach setText. Dadurch wird der Cursor Rechts ausgerichtet, weil noch Formatierungsmuell da ist. Deswegen wollte ich die JEditorPane komplett neu initialisieren - was aber scheinbar nicht klappt.


----------



## sibianu (17. Aug 2009)

Hey, jetzt mach mal Halbplan. Vielleicht kann ich gerade nicht dein Code ausführen oder vielleicht will ich das auch nicht. Ich habe nur meine Meinung dazu gesagt, ich dachte vielleicht hilft dir das ja. Ansonsten mach doch dein Programm selber, ich habe wichtigeres zu tun als mir sowas von dir anhören!


----------

