Cursor in JTextPane versetzen?

Status
Nicht offen für weitere Antworten.

estartu

Mitglied
Hallo.

Ich habe ein JTextPane und moechte in diesem den Cursor
mit einem Mausklick an irgend eine Stelle setzen
um dort einen Text einzutippen.

Mit der Tab-Taste laesst sich der Cursor verschieben, aber wie geht das mit
der Maus?

Kann kein "setCursorPosition..." oder so finden.

estartu
 

Leroy42

Top Contributor
... und richtig Spaß macht es, wenn man noch dazu weiß (darauf hingewiesen wird),
daß sich eine Textcursor gerne mit Caret ansprechen läßt.

Dann klappt's auch mit der Suche :cool:
 

estartu

Mitglied
Hallo.
Weiss jetzt auch das es wohl mit setCaretPosition(int arg0); geht.

Nuetzt mir aber nichts.
Das geht nur wenn schon text in meinem JTextPabe steht.
Dann kann ich den Cursor an eine bestimmte stelle innerhalb des Textes versetzen.

Ich will aber in einem leeren JTextPane den Cursor an eine bestimmte
stelle setzen und dann dort den ersten Text eingeben.

Trotzdem vielen Dank.


estartu
 

Leroy42

Top Contributor
Das kann nicht gehen, wie du mit (fast) jedem x-beliebigen Editor nachprüfen
kannst, der das auch nicht anbietet.

Du könntest deinem Pane einen zusätzlichen MouseListener verpassen, der anhand
der Koordinaten berechnet, wo du bei derzeitigem Font (Größe, monospaced, ...)
wahrscheinlisch hin willst und entsprechende Leerzeichen- und zeilen
einfügt.

Das wäre dann aber doch ziemlich verkorkst :autsch:

Ein Editorpane ist in erster Linie schließlich keine Zeichenfläche. :noe:
 

estartu

Mitglied
Hallo.

Ich will ja nicht zeichen aber meinen text den ich tippen will will ich halt frei plazieren koennen.
Ich brauche eine Oberflaeche in meinem Programm wie sie zum Beispiel Word bietet.
In Word kann ich auf der Seite überall hin klicken und dann dort meinen Text schreiben.

Das soll in meinem Programm auch moeglich sein.

Ausserdem will ich in meinem Programm mit copy und paste texte und bilder
ueberall frei plazieren koennen.
Einen besseren Vorschlag als JTextPane???


estartu
 

Leroy42

Top Contributor
Sicher doch!

JPanel!

Darin kannst du nach Herzenslust alles nur denkbare implementieren.

Aber schnell mal eine Art Word aus dem Ärmel schütteln zu wollen kannst du abschreiben(*)



(*) Naja, dessen einzigartige Programmcode-Struktur nachzubilden wirst du vielleicht
schon schaffen; aber ob das hilfreich für eine Programmierkarriere ist, darf dann doch
stark bezweifelt werden. :cool:
 

estartu

Mitglied
Ich will doch kein Open Office. Habe ich zwar will ich aber nicht.

Ich will auch kein neues Word mal eben so schnell aus dem Aermel schuetteln.

Gibts ja schon.

Ich will ein programm schreiben was halt die eigenschaft hat das man
text auf der oberflaeche eintippen kann und das man
mit copy und paste texte oder bilder darauf plazieren kann.

Nun zu JPanel. Ich weiss das ich in einem JPanel Componenten plazieren kann und auch Bilder.
Kann ich in ein JPanel aber auch einen text eintippen?

Das waere mir neu. Lasse mich aber gerne belehren.

estartu
 

estartu

Mitglied
Hallo.
Das mit dem in Word überall hinklicken geht natürlich nicht, habe es ausprobiert.
Habe Word schon tausend mal benutzt aber wohl nie richrig aufgepasse.

estartu
 

Wildcard

Top Contributor
Offtopic:
Vieleicht hat dich ja nur das 'Programm zur Verbesserung der Benutzerfreundlichkeit von M$-Office' abgelenkt...
Zum Glück gibt's OpenOffice :D
 

Illuvatar

Top Contributor
André Uhres hat gesagt.:
estartu hat gesagt.:
..In Word kann ich auf der Seite überall hin klicken und dann dort meinen Text schreiben..
Aber nicht bei einem leeren (neuen) Dokument, nein, das geht nicht :noe:

Höh? Natürlich geht das (Office 2007 Beta, aber in 2003 gings afair auch). Das macht dann eben entsprechend viele Zeilenumbrüche und platziert nen Tabstop.
 

Leroy42

Top Contributor
estartu hat gesagt.:
Nun zu JPanel. Ich weiss das ich in einem JPanel Componenten plazieren kann und auch Bilder.
Kann ich in ein JPanel aber auch einen text eintippen?

Das waere mir neu. Lasse mich aber gerne belehren.

estartu

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Irgendwo extends JFrame {
	JPanel area = new Area();
	public Irgendwo() {
		add(area, BorderLayout.CENTER);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setBounds(200, 200, 300, 300);
		setVisible(true);
	}
	public static void main(String[] args) {
		Toolkit.getDefaultToolkit().setDynamicLayout(true);
		new Irgendwo();
	}
}

class Area extends JPanel {
	int x,y;
	public Area() {
		addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				x = e.getX();
				y = e.getY();
				repaint();
			}});
	}

	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		if (x!= 0)
			g.drawString("Hier hin will ich nicht :-(", x, y);
	}
}

Laß' klicken Kumpel! :cool:
 

André Uhres

Top Contributor
Illuvatar hat gesagt.:
André Uhres hat gesagt.:
estartu hat gesagt.:
..In Word kann ich auf der Seite überall hin klicken und dann dort meinen Text schreiben..
Aber nicht bei einem leeren (neuen) Dokument, nein, das geht nicht :noe:

Höh? Natürlich geht das (Office 2007 Beta, aber in 2003 gings afair auch). Das macht dann eben entsprechend viele Zeilenumbrüche und platziert nen Tabstop.
Ja, hab mich geirrt. Ich hab's natürlich probiert, egal wo ich hinklickte konnte ich keinen Text eingeben.
Nach deinem Hinweis hab ich's dann statt mit Klicken einmal mit Doppelklicken versucht, und siehe da: dann geht's. Kann natürlich niemand wissen, der mit Word nur ab und zu ein paar Kleinigkeiten erledigt.
 

estartu

Mitglied
Hallo Leroy42.
Ja der Programmtext geht.
Muesste mich dann halt darum kuemmern die Tastatur auszulesen und so weiter.
Das woltte ich halt verhindern indem ich einnen anderen container benutze der
schon solche Texteigenschaften hat.
Nehme deshalb auch JTextPane.

Nun aber noch eine Frage zu deinem Programm.
Warum "public void paintComponent(Graphics g)"
und nicht "public void paint(Graphics g)"


estartu
 

Leroy42

Top Contributor
estartu hat gesagt.:
Nun aber noch eine Frage zu deinem Programm.
Warum "public void paintComponent(Graphics g)"
und nicht "public void paint(Graphics g)"

Eine ganz wichtige Frage:

Seit Swing darfst du (de facto) die paint-Methode nicht mehr
überschreiben. Sie kümmert sich noch um andere Sachen wie den
Aufruf von paintComponents und das evtl. Zeichnen des Borders.

Für alle Swing-Komponenten ist der Normalfall paintComponent
zu überschreiben.

Das das Neu-Erfinden des JTextPane-Rades 'n bischen viel auf einmal
ist sollte klar sein.

Hast du schonmal versucht, dem JTextPane einen zusätzlichen MouseListener
zu verpassen, der dein Anliegen über die Koordinaten erledigt?

Ich denke aber, daß der Aufwand den Nutzen bei weitem übersteigt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Swing [JTextPane] Cursor lässt sich nicht mit Pfeiltasten bewegen AWT, Swing, JavaFX & SWT 3
M Cursor setzen im JTextPane AWT, Swing, JavaFX & SWT 3
Juelin TextField Cursor Position AWT, Swing, JavaFX & SWT 2
H JDialog in Größe ändern - Resize-Cursor bleibt betreten der Komponente AWT, Swing, JavaFX & SWT 1
E verschiedene Cursor setzen AWT, Swing, JavaFX & SWT 1
E JavaFX Cursor-Position im ScrollPane AWT, Swing, JavaFX & SWT 0
T Java Swing - kleines Rechteck unter dem cursor AWT, Swing, JavaFX & SWT 5
domjos1994 JavaFX Element auswählen auf dem der Cursor ist AWT, Swing, JavaFX & SWT 1
Tom299 JavaFX Default-Cursor läßt sich nicht immer "aktivieren" AWT, Swing, JavaFX & SWT 3
N Cursor im JTextField AWT, Swing, JavaFX & SWT 6
Q Cursor Frage AWT, Swing, JavaFX & SWT 8
B setCursor() lässt Cursor ganz verschwinden AWT, Swing, JavaFX & SWT 9
Madlip SWT Probleme mit SWT.CURSOR AWT, Swing, JavaFX & SWT 2
B Swing Cursor-Transparenz AWT, Swing, JavaFX & SWT 2
A Swing GlassPane Cursor wird bei fremder Komponente nicht angezeigt AWT, Swing, JavaFX & SWT 3
B Swing Eigenen Cursor setzen AWT, Swing, JavaFX & SWT 10
B Cursor Farbe ändern AWT, Swing, JavaFX & SWT 6
J Cursor blinken ausschalten AWT, Swing, JavaFX & SWT 4
J Swing Cursor von Child falsch, wenn Parant disabled AWT, Swing, JavaFX & SWT 2
Zettelkasten Cursor nicht anzeigen lassen AWT, Swing, JavaFX & SWT 2
C Cursor AWT, Swing, JavaFX & SWT 5
T Swing JTable - true zurückbekommen, wenn der Cursor in einer Zelle blinkt AWT, Swing, JavaFX & SWT 7
K mehrere JTextFields - wie finde ich die Cursor-Position? AWT, Swing, JavaFX & SWT 5
T Cursor im JPanel fangen AWT, Swing, JavaFX & SWT 2
D cursor bild und mouslistner AWT, Swing, JavaFX & SWT 9
hdi Custom Cursor: Problem mit Größe AWT, Swing, JavaFX & SWT 5
S AWT Eigenen Cursor im Frame verwenden... AWT, Swing, JavaFX & SWT 5
D JTextField behält meinen cursor nicht AWT, Swing, JavaFX & SWT 3
G Cursor Bewegung tracken AWT, Swing, JavaFX & SWT 2
H Flexibler Cursor AWT, Swing, JavaFX & SWT 8
G Komponente in der der Cursor steht zurückgeben? AWT, Swing, JavaFX & SWT 2
D Bild Cursor AWT, Swing, JavaFX & SWT 5
D JTextAray und Cursor AWT, Swing, JavaFX & SWT 11
T Problem mit dem Cursor AWT, Swing, JavaFX & SWT 7
R Den Cursor setzen AWT, Swing, JavaFX & SWT 5
M Problem mit Cursor für Panels AWT, Swing, JavaFX & SWT 4
M Cursor wird nach JFileChosser nicht gesetzt AWT, Swing, JavaFX & SWT 3
B Spezieller Cursor in Swing AWT, Swing, JavaFX & SWT 7
T Markierten Mausbereich erfassen, Text beim Cursor platzieren AWT, Swing, JavaFX & SWT 6
V Cursor zu Groß AWT, Swing, JavaFX & SWT 4
T Cursor setzen AWT, Swing, JavaFX & SWT 3
L wie den Cursor von einem TextFeld zum anderen setzen? AWT, Swing, JavaFX & SWT 3
B Cursor zentriert in ein Textfeld positionieren AWT, Swing, JavaFX & SWT 2
D Farbe einer Grafik über den Cursor abfragen AWT, Swing, JavaFX & SWT 6
M Cursor im deaktivierten JInternalFrame AWT, Swing, JavaFX & SWT 2
A Cursor Icon bei DnD aus nativen Anwendungen AWT, Swing, JavaFX & SWT 2
S Cursor über JButton ändern AWT, Swing, JavaFX & SWT 4
V JTextField Focus Cursor setzen AWT, Swing, JavaFX & SWT 2
U Cursor beim Drag and Drop AWT, Swing, JavaFX & SWT 8
T JTextArea, in welcher Zeile befindet sich der Cursor AWT, Swing, JavaFX & SWT 25
clemson Cursor in JTable-Cell setzen AWT, Swing, JavaFX & SWT 6
P [TextField] cursor setzten AWT, Swing, JavaFX & SWT 2
Luma Keinen Cursor in JDialog? AWT, Swing, JavaFX & SWT 9
G Focus so setzen, daß in einer jTextArea der Cursor blinkt AWT, Swing, JavaFX & SWT 7
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
T JTextPane ignoriert HTML Zeilenumbruch <br> tag wegen eigenem HTMLEditorKit AWT, Swing, JavaFX & SWT 5
J Swing JTextpane aktuallisiert nicht den setText? AWT, Swing, JavaFX & SWT 9
M Strings im JTextPane vergleichen und mit StyledDocument formatieren AWT, Swing, JavaFX & SWT 3
X JTextPane automatischer Zeilenumbruch IM Wort AWT, Swing, JavaFX & SWT 2
R GUI Element in einer Methode aktualisieren (JTextPane) AWT, Swing, JavaFX & SWT 13
M Swing JTextPane, Bilder und Text-flow AWT, Swing, JavaFX & SWT 2
D Swing Breite einer HTML Tabelle in einer JTextPane AWT, Swing, JavaFX & SWT 6
S Swing Warum funktioniert der automatische Zeilenumbruch mit arabischen Zeichen beim JTextPane nicht AWT, Swing, JavaFX & SWT 3
S Swing JtextPane sau langsam AWT, Swing, JavaFX & SWT 15
J Swing JTextPane mit JScrollPane auf JPanel scrollen nicht AWT, Swing, JavaFX & SWT 6
C JTextPane scrollt mit setText() immer nach oben AWT, Swing, JavaFX & SWT 2
S Swing Style Attribute aus JTextPane kopieren AWT, Swing, JavaFX & SWT 1
E JTextPane Focus AWT, Swing, JavaFX & SWT 1
TheJavaKid JTextPane: komplexe Formatierung (links) AWT, Swing, JavaFX & SWT 2
B Swing JTextPane - Einfärbungen auf "default" AWT, Swing, JavaFX & SWT 2
A Swing Einrücken mehrerer Zeilen per Tab in einem JTextPane/JTextArea AWT, Swing, JavaFX & SWT 3
T JtextPane Zeile aktualisieren AWT, Swing, JavaFX & SWT 3
T Hintergrundbild in JTextPane fixieren AWT, Swing, JavaFX & SWT 2
M Swing JTextPane frisst Anführungszeichen AWT, Swing, JavaFX & SWT 2
M Swing JTextPane + Scrollbar = Fragen AWT, Swing, JavaFX & SWT 15
H Swing JTextPane hat unästhetisches Scrollbar AWT, Swing, JavaFX & SWT 3
R Swing Renderproblem bei HTML in einer JTextPane AWT, Swing, JavaFX & SWT 12
N Swing JTextPane zur Anzeige von HTML AWT, Swing, JavaFX & SWT 2
E Swing jTextPane Text datei anzeigen AWT, Swing, JavaFX & SWT 7
xehpuk Swing Line-wrapping von JTextPane (in JScrollPane) AWT, Swing, JavaFX & SWT 3
Tobse Swing [JTextPane] Farbliche Hervorhebung AWT, Swing, JavaFX & SWT 9
X Swing JTextPane bei Größenänderung Formatierung behalten AWT, Swing, JavaFX & SWT 11
0 JTextPane copy/paste trotz editable(false) ? AWT, Swing, JavaFX & SWT 10
T Swing JTextPane Tastatureingabe abfangen AWT, Swing, JavaFX & SWT 4
B Durchsichtiges JScroll und JTextPane AWT, Swing, JavaFX & SWT 4
xehpuk Swing JTextPane in JScrollPane wird nicht ordentlich neugezeichnet AWT, Swing, JavaFX & SWT 3
S Swing JTextPane append formatprobleme AWT, Swing, JavaFX & SWT 5
C JTextPane / JEditorPane ohne Keywords farbig machen AWT, Swing, JavaFX & SWT 4
C Zeilenumbruch von JTextPane wird nicht erkannt AWT, Swing, JavaFX & SWT 2
S JEditorPane oder JTextPane? AWT, Swing, JavaFX & SWT 2
P Aktuelle Zeile in JTextPane farblich hervorheben AWT, Swing, JavaFX & SWT 3
J JTextPane Background setzen AWT, Swing, JavaFX & SWT 6
T Text in JTextPane vertikal (!) zentrieren AWT, Swing, JavaFX & SWT 4
M Zugriff paralleler Threads auf selbes JTextPane AWT, Swing, JavaFX & SWT 6
M JTextPane - bewegungsloses Hintergrundsbild (Duplikat) AWT, Swing, JavaFX & SWT 2
B JTextPane formatierten Inhalt speichern AWT, Swing, JavaFX & SWT 2
E JTextPane setText ignoriert \n AWT, Swing, JavaFX & SWT 6
P Swing Sichtbaren teil eines JTextPane herausbekommen (mit JScrollPane) AWT, Swing, JavaFX & SWT 2
C Swing JTextPane zeigt HTML-Text aus Variable nicht an :( AWT, Swing, JavaFX & SWT 3
T Zeichen zählen JTextPane AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben