textPane verschiedene formatierungen

schnubber

Mitglied
Hallo Forum,

habe ein folgendes Problem:
hab ein kleines applet gemacht mit einem textpane in welches ich per optionPane texte einfüge
Es gibt verschiedene buttons:
Bei einem Click auf einen button soll ein option Pane erscheinen, da trag ich text ein, den speichere ich in ne string variable und schreibe die in den textPane. Davor formatiere ich den text z.B. farbe. Bei jedem button ist die formatierung anders. Das einfügen des textes und die formatierung geht soweit das problem ist dass wenn ich neuen text einfüge (mit anderer formatierung) dann wird der text davor mit formatiert(alles hat den format vom zu letzt eingefügten text) Will dass der davor eingefügte text so bleibt wie er ist und nur der neu eingefügte text die dazu gehörige formatierung annimmt

mein quellcode :
Java:
package DragAndDrop;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;


public class draganddrop extends JApplet {

	/**
	 * Create the applet.
	 */
	public draganddrop() {
		getContentPane().setLayout(null);
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(25, 44, 190, 215);
		getContentPane().add(scrollPane);
		
		final JTextPane textPane = new JTextPane();
        textPane.setPreferredSize(new Dimension(300,300));
        textPane.revalidate();
		scrollPane.setViewportView(textPane);
	
//button1 schriftgröße 18
		JButton ueberschrift_1 = new JButton("\u00DCberschrift1");
		ueberschrift_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				 String ueberschrift1 = JOptionPane.showInputDialog(null, "Überschrift 1 :");
				 SimpleAttributeSet set = new SimpleAttributeSet(); 
						if(ueberschrift1 != null)  
						{
					      StyleConstants.setBold(set, true);
					      textPane.setCharacterAttributes(set, true);
						  textPane.setFont(new Font("Arial", 0, 18));
					      StyleConstants.setItalic(set, true);
					      Document doc = textPane.getStyledDocument();
					      try 
					      {
							doc.insertString(doc.getLength(), ueberschrift1, set);
						  } 
					      catch (BadLocationException e1)
					      {
						     e1.printStackTrace();
						  }
						}
			}
		});
		ueberschrift_1.setBounds(284, 44, 125, 23);
		getContentPane().add(ueberschrift_1);
		//button2 schriftgröße 16
		JButton ueberschrift_2 = new JButton("\u00DCberschrift2");
		ueberschrift_2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JOptionPane option2 = new JOptionPane();
				String ueberschrift2 = JOptionPane.showInputDialog(null, "Überschrift2 :");
				SimpleAttributeSet set2 = new SimpleAttributeSet();
				if (ueberschrift2 !=null)
				{
					StyleConstants.setBold(set2, true);
					textPane.setCharacterAttributes(set2, true);
					textPane.setFont(new Font("Arial",0,16));
					Document doc2 = textPane.getStyledDocument();
					try
					{
						doc2.insertString(doc2.getLength(), ueberschrift2, set2);
					}
					catch (BadLocationException e2)
					{
						e2.printStackTrace();
					}
				}
			}
		});
		ueberschrift_2.setBounds(284, 78, 125, 23);
		getContentPane().add(ueberschrift_2);
		
		JButton btnberschrift_3 = new JButton("\u00DCberschrift3");
		btnberschrift_3.setBounds(284, 112, 125, 23);
		getContentPane().add(btnberschrift_3);
		JButton btnText = new JButton("Text");
		btnText.setBounds(284, 146, 125, 23);
		getContentPane().add(btnText);	
	}
}
ich arbeite mit eclipse
nach dem ich die aktion von button 2 volende wird der text der schriftgröße 18 hatte auf 16 runter gestuft (die größe die bei button 2 eingestellt ist) Umgekehrt das selbe problem : fang ich mit 16 an und will nächsten text 18 haben wird alles 18
 
Zuletzt bearbeitet:

schnubber

Mitglied
Naja habe mir halt gedacht dass man mit Interface die GUI meint graphical user INTERFACE. Wenns nicht das ist was dann? Sorry mein fehler.:rtfm:
 
Zuletzt bearbeitet:
S

SlaterB

Gast
in der Tat, daran hatte ich wiederum nicht gedacht, aber wenn ich mir die Auflistung aller Tags anschaue,
zwischen Methoden, Klassen, Vererbung, dann wohl nicht so gemeint ;)

was ein Interface in Java ist, ist eine bedenkliche Frage, besonders wenn du schon an komplizierter GUI schreibst,
Schnittstelle ist das deutsche Wort, etwa
Galileo Computing :: Java ist auch eine Insel - 5 Eigene Klassen schreiben
5.13 Schnittstellen

ActionListener ist ein Interface
 

schnubber

Mitglied
Hmm in dem tut steht nur was von text aus html seiten übertragen aber nicht direkt die funktionen die ich brauche (hab mir den nämlich schon durch gelesen und nicht schlau geworden)
ich geh ma den kompletten quellcode davon durch:rtfm::autsch:
Kann ich da nicht sagen dass bei button 1 ein string sein soll und bei button 2 ein substring und die einzeln formatieren?
 
Zuletzt bearbeitet:

Crian

Top Contributor
Ein Snippet aus einem Testprogramm:

Java:
    private void createTextPane(JPanel panel) {
        String newline = "\n";
        String[] initString = {
                "This is an editable JTextPane, ",    // regular
                "another ",                           // italic
                "styled ",                            // bold
                "text ",                              // small
                "component, ",                        // large
                "which supports embedded components..." + newline,// regular
                " " + newline,                        // button
                "...and embedded icons..." + newline, // regular
        };

        String[] initStyles = { "regular", "italic", "bold", "small", "large",
                "regular", "button", "regular" };

        JTextPane textPane = new JTextPane();
        StyledDocument doc = textPane.getStyledDocument();
        addStylesToDocument(doc);

        try {
            for (int i = 0; i < initString.length; i++) {
                doc.insertString(doc.getLength(), initString[i], doc
                        .getStyle(initStyles[i]));
            }
        } catch (BadLocationException ble) {
            System.err.println("Couldn't insert initial text into text pane.");
        }

        panel.add(textPane);
    }
 
S

SlaterB

Gast
zum Bild oben wird zu den Sourcecode mehr oder weniger geführt,
Java Tutorials Sample Code

createTextPane() erzeugt ein JTextPane, welches von JEditorPane erbt,
aus den Aufrufen dort kann man erkennen, was alles möglich ist,
(edit: Crian postet daraus leicht verändert, ohne addStylesToDocument(doc) ziemlich leer..)

das für Buttons und Benutzereingabe fit zu machen ist natürlich eine Aufgabe, aber es kann ja nicht alles schon geben,
wobei sich das so ähnlich natürlich anbietet, weiter unten sieht ein Link auf
Text Component Features (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)
schon nach bisschen mehr deine Richtung aus

das wird dann aber auch entsprechend umfangreicherer Code und schwieriger Details zu finden
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R WAV-Datei in textpane abspielen Java Basics - Anfänger-Themen 3
M Cursor in welchem TextPane? Java Basics - Anfänger-Themen 5
B Texteingabe im Textpane unterbinden Java Basics - Anfänger-Themen 2
G String im TextPane während der Eingabe überprüfen? Java Basics - Anfänger-Themen 12
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
N Verschiedene Konstruktoren mit gleichen Datentypen Java Basics - Anfänger-Themen 8
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
I SWT Plattformunabhängig laden - verschiedene SWT .jar laden Java Basics - Anfänger-Themen 0
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
K verschiedene Eingaben sortieren Java Basics - Anfänger-Themen 6
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
T for-each-Schleife, verschiedene Datentypen Java Basics - Anfänger-Themen 1
HoT verschiedene ArrayLists mit ähnlichem Namen in for-Schleife aufrufen Java Basics - Anfänger-Themen 3
FelixN Array mit verschiedene Datentypen als Rückgabewert? (Long und Double) Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Attribute für vererbte Klassen Java Basics - Anfänger-Themen 4
M JavaFX- Verschiedene Stages Java Basics - Anfänger-Themen 1
B Get / Set - Methode für verschiedene Entities? (generisch) Java Basics - Anfänger-Themen 21
L Wie Input auf verschiedene Kriterien hin überprüfen? Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
F Komplexe Zahlen auf verschiedene Weise addieren Java Basics - Anfänger-Themen 18
N verschiedene Reihenfolgen ausgeben Java Basics - Anfänger-Themen 15
M Dijkstra Algorithmus in Graphen auf mehrere verschiedene Knoten anwenden lassen Java Basics - Anfänger-Themen 11
Java The Hutt SetWerte über verschiedene Klassen Java Basics - Anfänger-Themen 16
M Verschiedene Eingabe = Verschiedene Ausgaben Java Basics - Anfänger-Themen 5
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
T Datentypen Kann Java 2 verschiedene Datentypen vergleichen? Java Basics - Anfänger-Themen 2
B String auseinander nehmen in verschiedene Teile Java Basics - Anfänger-Themen 9
X Variablen Problem bei Aufteilung in verschiedene Class-Files Java Basics - Anfänger-Themen 4
E JAvaFX: Verschiedene Panels nach Klick auf Node des TreeView anzeigen Java Basics - Anfänger-Themen 0
T Java verschiedene Anweisungen Java Basics - Anfänger-Themen 23
W Verschiedene Bibliotheken in einer Anwendung? Java Basics - Anfänger-Themen 2
tuc Erste Schritte verschiedene objekte in einem feld speichern Java Basics - Anfänger-Themen 4
L Verschiedene Bilder per Knopfdruck anzeigen lassen Java Basics - Anfänger-Themen 17
J ArrayList über verschiedene Klassen verwenden Java Basics - Anfänger-Themen 7
P Erste Schritte durch MenuBar verschiedene Fenster öffnen Java Basics - Anfänger-Themen 2
G Datentypen verschiedene Objekte in eine ArrayList, Generics Java Basics - Anfänger-Themen 2
GoldenShadow Input/Output Verschiedene Versionen von Input/Output Java Basics - Anfänger-Themen 3
I Drucken in Java / verschiedene Papierformate Java Basics - Anfänger-Themen 0
P Verschiedene Java Versionen nutzen Java Basics - Anfänger-Themen 6
Z Was habe ich davon mit einem Datentyp verschiedene Instanzen zu haben? Java Basics - Anfänger-Themen 6
S write(), weshalb verschiedene Ausgaben? Java Basics - Anfänger-Themen 4
E Erste Schritte Verschiedene Anfängerfragen (Rekursion, Terminierung, Schleife, etc.) Java Basics - Anfänger-Themen 5
I String trennen und verschiedene Wörter holen Java Basics - Anfänger-Themen 6
B Verschiedene Objekte in 2 dimensionalem Array speichern Java Basics - Anfänger-Themen 10
S Datei ausführen, verschiedene Ordner Java Basics - Anfänger-Themen 2
O Verschiedene Farben in einer GUI Java Basics - Anfänger-Themen 15
R Klassen Mehrere/Verschiedene Objekte umcasten Java Basics - Anfänger-Themen 8
N Vererbung Verschiedene Subclasses nach cast zur Superclass unterscheiden Java Basics - Anfänger-Themen 9
D Verschiedene Fragen zu meinem Projekt Java Basics - Anfänger-Themen 6
K Verschiedene JDK´s paralell nutzen? Java Basics - Anfänger-Themen 3
M Verschiedene Möglichkeiten mit 'equals' abdecken? Java Basics - Anfänger-Themen 9
H 2 verschiedene Objekte in Liste mit Compareable sortieren Java Basics - Anfänger-Themen 7
G Erste Schritte Über verschiedene Datentypen iterieren. Gibt es sowas? Java Basics - Anfänger-Themen 19
N Verschiedene Klassen als Parameter elegant übergeben? Java Basics - Anfänger-Themen 4
X Listen und verschiedene Methoden Java Basics - Anfänger-Themen 6
B Zwei verschiedene Daten vergleich Java Basics - Anfänger-Themen 2
K Input/Output Verschiedene Ordner für Java u.v.m. Projekte Java Basics - Anfänger-Themen 3
G Umwandlung in verschiedene Zahlensysteme Java Basics - Anfänger-Themen 4
R Verschiedene Jar Versionen nutzen Java Basics - Anfänger-Themen 14
D Umgebungsvariable verschiedene Werte von JAVA_HOME? Java Basics - Anfänger-Themen 4
J verschiedene Anweisungen bei verschiedenen Zuständen Java Basics - Anfänger-Themen 9
F Info zwischen verschiedene Klassen austauschen Java Basics - Anfänger-Themen 4
R Input/Output verschiedene Datentypen als Bytes in Datei speichern Java Basics - Anfänger-Themen 15
Blindxantos Klassen in verschiedene Packages unterteilen Java Basics - Anfänger-Themen 2
F verschiedene Daten abspeichern Java Basics - Anfänger-Themen 13
N Verschiedene JFrames in einem JFrame anzeigen Java Basics - Anfänger-Themen 7
A Datentypen Verschiedene Threads synchronisieren Java Basics - Anfänger-Themen 3
D Mehrere verschiedene Farben pro fillRect Java Basics - Anfänger-Themen 3
M Verschiedene Werte in methoden Java Basics - Anfänger-Themen 3
K Verschiedene (Thread) Objekt-Positionen (int) in einem Array zusammenfassen Java Basics - Anfänger-Themen 3
J Verschiedene Rückgabetypen(int int char) Java Basics - Anfänger-Themen 10
S Datentypen Die verschiedene Java Datentypen [Anfänger] Java Basics - Anfänger-Themen 8
J OOP verschiedene Objekttypen ablegen Java Basics - Anfänger-Themen 4
B Welcher Feld Typ für verschiedene Datentypen? Java Basics - Anfänger-Themen 4
capgeti Verschiedene Rückgabetypen ohne Typecast möglich? Java Basics - Anfänger-Themen 7
S Verschiedene Arrays über Index aufrufen Java Basics - Anfänger-Themen 5
Developer_X in JEditorPane verschiedene Farben, verwenden Java Basics - Anfänger-Themen 7
C verschiedene Label auf Knopfdruck abrufen Java Basics - Anfänger-Themen 4
L Verschiedene Fonts für verschiedene Dialogelemente Java Basics - Anfänger-Themen 2
G Verschiedene Packages Java Basics - Anfänger-Themen 3
G Daten in verschiedene Listen schreiben Java Basics - Anfänger-Themen 5
C Zustandsanzeige durch verschiedene Klassen Java Basics - Anfänger-Themen 4
S verschiedene Versionen Java Basics - Anfänger-Themen 2
G Verschiedene Exceptions zu gleichem Block Java Basics - Anfänger-Themen 6
T verschiedene Anfängerfragen Java Basics - Anfänger-Themen 20
J Verschiedene Ausgaben bei gleichen Ausdrücken (Typecasting?) Java Basics - Anfänger-Themen 5
N Verschiedene Input/Output Klassen Java Basics - Anfänger-Themen 3
G verschiedene datentypen in arraylist Java Basics - Anfänger-Themen 14
L verschiedene JPanel-Instanzen erstellen Java Basics - Anfänger-Themen 8
L 2 verschiedene Typen in einer Tabelle ablegen Java Basics - Anfänger-Themen 18
N Problem mit Tastatureingaben für verschiedene Datentypen Java Basics - Anfänger-Themen 3
L verschiedene formuare in einem fenster öffnen Java Basics - Anfänger-Themen 8
I Array für verschiedene Datentypen? Java Basics - Anfänger-Themen 5
R verschiedene dateitypen öffnen Java Basics - Anfänger-Themen 5
L verschiedene zeichen einlesen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben