Texteditor mittels Java

Servus!!!
Nun, ich habe folgende Frage: Kann mir jemand eine Seite empfehlen, wo ich frei zur Verfügung gestellte Applets bekomme;
Und zwar suche ich ein Applet, welches wie eine Texteditor fungiert (mit den Funktionen BOLD, ITALIC, UNDERLINE…).

Danke im Voraus, L@her

Hallo Christian,

ein TExteditor kann man relativ einfach mittels JTextPane zusammen basteln. Mit einem Applet wirst du wenig freide haben da du die Texte nicht so ohne weiters speichern kannst.

gruß Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!

Nun, ich habe folgende Frage: Kann mir jemand eine Seite
empfehlen, wo ich frei zur Verfügung gestellte Applets
bekomme;
Und zwar suche ich ein Applet, welches wie eine Texteditor
fungiert (mit den Funktionen BOLD, ITALIC, UNDERLINE…).

Ich kann Dir kein Applet, aber eine Text-Editor Application anbieten. Daraus läßt sich sicher leicht auch ein Applet basteln.

Quelle: „Jetzt lerne ich Java“ - Louis / Müller,
ISBN: 3-8272-5311-X Buch anschauen

Text-Editor mit Swing:

// Datei CEditor.java

// Ein (nicht ganz) einfacher Text-Editor
import java.awt.\*;
import java.util.\*;
import java.awt.event.\*;
import java.io.\*;
import javax.swing.\*;
import javax.swing.text.\*;
import java.awt.print.\*; 


public class CEditor extends JFrame 
{
// Konstanten für die Größe der Textfläche
final int ZEILEN = 100;
final int SPALTEN = 400;

// globale Variablen innerhalb der Klasse
private String m\_dateiname; // zu ladende/speichernde Datei
private String m\_aktText; // aktueller Text in der TextArea
private CTextAnzeige m\_textanzeige; // die eigentliche TextArea
private JComboBox m\_fonts,m\_styles; // Auswahl von Fonttyp, Stil und
private JComboBox m\_farben; // Farbe
private Hashtable m\_befehle;

public static void main(String[] args)
 {
 // eine Instanz der Klasse anlegen und anzeigen
 CEditor e = new CEditor("Texteditor");

 // Position auf Bildschirm vorgeben
 e.setLocation(100,100);
 e.pack();
 e.show();
 }

// Im Konstruktur die Benutzerberfläche aufbauen
CEditor(String titel)
 {
 super(titel);

 // Menüleiste mit Menüs anlegen
 JMenuBar menueleiste = new JMenuBar();
 setJMenuBar(menueleiste);

 JMenu menu1 = new JMenu("Datei");
 JMenuItem item1\_1 = new JMenuItem("Datei laden");
 JMenuItem item1\_2 = new JMenuItem("Datei speichern");
 JMenuItem item1\_3 = new JMenuItem("Datei drucken"); 
 JMenuItem item1\_4 = new JMenuItem("Programm beenden");
 menu1.add(item1\_1);
 menu1.add(item1\_2);
 menu1.add(item1\_3);
 menu1.add(item1\_4);
 menueleiste.add(menu1);

 JMenu menu2 = new JMenu("Bearbeiten");
 JMenuItem item2\_1 = new JMenuItem("Ausscheiden");
 JMenuItem item2\_2 = new JMenuItem("Kopieren");
 JMenuItem item2\_3 = new JMenuItem("Einfügen");
 menu2.add(item2\_1);
 menu2.add(item2\_2);
 menu2.add(item2\_3);
 menueleiste.add(menu2);

 JMenu menu3 = new JMenu("Suchen");
 JMenuItem item3\_1 = new JMenuItem("String suchen");
 menu3.add(item3\_1);
 menueleiste.add(menu3);

 // Panel für den Textbereich und die Auswahlfelder
 JPanel p\_außen = new JPanel();
 p\_außen.setLayout(new BorderLayout());

 // Text-Komponente anlegen
 m\_textanzeige = new CTextAnzeige(ZEILEN, SPALTEN);
 m\_textanzeige.setEditable(true);

 // Textkomponente scrollbar machen
 JScrollPane scroll = new JScrollPane();
 scroll.getViewport().add(m\_textanzeige); 


 // Inneres Panel für die Auswahlmöglichkeiten 
 JPanel p\_innen = new JPanel();
 p\_innen.setLayout(new GridLayout(1,4));

 // Auswahl von Schriftarten
 m\_fonts = new JComboBox();
 m\_fonts.addItem("Courier");
 m\_fonts.addItem("Helvetica");
 m\_fonts.addItem("TimesRoman");

 // Auswahl von Schriftstilen
 m\_styles = new JComboBox();
 m\_styles.addItem("normal");
 m\_styles.addItem("kursiv");
 m\_styles.addItem("fett");


 // Auswahl von Schriftfarben
 m\_farben = new JComboBox();
 m\_farben.addItem("Schwarz"); 
 m\_farben.addItem("Rot");
 m\_farben.addItem("Grün");
 m\_farben.addItem("Blau");
 m\_farben.addItem("Gelb");
 m\_farben.addItem("Cyan");
 m\_farben.addItem("Magenta");


 p\_innen.add(m\_fonts); 
 p\_innen.add(m\_styles);
 p\_innen.add(m\_farben);


 p\_außen.setPreferredSize(new Dimension(500,400));
 p\_außen.add("Center",scroll); 
 p\_außen.add("North",p\_innen); 

 // Panel zur Frame Klasse hinzufügen
 getContentPane().add(p\_außen); 


 // Font, Farbe und Schriftstil festlegen 
 m\_fonts.setSelectedItem("SansSerif");
 m\_styles.setSelectedItem("normal"); 
 m\_farben.setSelectedIndex(0); 
 fontAktualisieren(); 


 // Die verschiedenen Adapterklassen für das Maus Handling
 class CMeinItemAdapter implements ItemListener
 { 
 public void itemStateChanged(ItemEvent e)
 {
 fontAktualisieren();
 } 
 } 

 class CMeinWindowAdapter extends WindowAdapter
 {
 public void windowClosing(WindowEvent e)
 {
 System.exit(0);
 }
 }


 class CMeinActionLauscher implements ActionListener
 {
 public void actionPerformed(ActionEvent e)
 {
 String label;

 label = e.getActionCommand();

 if(label.equals("Datei laden"))
 dateiLaden();

 if(label.equals("Datei speichern"))
 dateiSpeichern();

 if(label.equals("Datei drucken"))
 dateiDrucken();

 if(label.equals("Programm beenden"))
 System.exit(0); 

 if(label.equals("String suchen"))
 stringSuchen(); 
 } 
 } 


 // Lauschobjekte registrieren
 addWindowListener(new CMeinWindowAdapter()); 

 // Die Instanz der Adapterklasse für den ActionListener brauchen
 // wir mehrmals, daher erzeugen wir nur eine Instanz und 
 // verwenden sie mehrfach; das spart ein bißchen Speicher
 CMeinActionLauscher actionlistener = new CMeinActionLauscher();
 item1\_1.addActionListener(actionlistener);
 item1\_2.addActionListener(actionlistener);
 item1\_3.addActionListener(actionlistener);
 item1\_4.addActionListener(actionlistener);
 item3\_1.addActionListener(actionlistener);

 // Genauso bei dem Lauschobjekt für die Items
 CMeinItemAdapter itemlistener = new CMeinItemAdapter();
 m\_fonts.addItemListener(itemlistener);
 m\_styles.addItemListener(itemlistener);
 m\_farben.addItemListener(itemlistener);


 // Befehle für die Zwischenablage
 // erzeuge Action-Tabelle
 m\_befehle = new Hashtable();
 Action[] actionsArray = m\_textanzeige.getActions();
 for (int i = 0; i = 1)
 return Printable.NO\_SUCH\_PAGE;

 Graphics2D g2d = (Graphics2D) g;

 // auf den sichtbaren Bereich ausrichten 
 g2d.translate(pf.getImageableX(), pf.getImageableY()); 
 paint(g2d);

 return Printable.PAGE\_EXISTS; 
 }
 }

Text-Editor mit AWT:

// Ein einfacher Text-Editor
import java.awt.\*;
import java.awt.event.\*;
import java.io.\*;

public class Ein\_AWT\_Editor extends Frame
{
// Konstanten für die Größe der Textfläche
final int ZEILEN = 5;
final int SPALTEN = 120;

// globale Variablen innerhalb der Klasse
String Dateiname; // zu ladende/speichernde Datei
String aktueller\_Text; // aktueller Text in der TextArea
Text textanzeige; // die eigentliche TextArea
Choice fonts,styles; // Auswahl von Fonttyp, Stil und
List farben; // Farbe

public static void main(String[] args)
 {
 // eine Instanz der Klasse anlegen und anzeigen
 Ein\_AWT\_Editor e = new Ein\_AWT\_Editor("Texteditor");
 e.pack();
 e.show();
 }

// Im Konstruktur die eigentliche Oberfläche der Klasse erstellen
Ein\_AWT\_Editor(String titel)
 {
 super(titel);
 // Eine Menüleiste mit Menüs anlegen
 MenuBar menüleiste = new MenuBar();
 setMenuBar(menüleiste);

 Menu menu1 = new Menu("Datei");
 MenuItem item1\_1 = new MenuItem("Datei laden");
 MenuItem item1\_2 = new MenuItem("Datei speichern");
 MenuItem item1\_3 = new MenuItem("Programm beenden");
 menu1.add(item1\_1);
 menu1.add(item1\_2);
 menu1.add(item1\_3);
 menüleiste.add(menu1);

 Menu menu2 = new Menu("Spezial");
 MenuItem item2\_1 = new MenuItem("Drucken");
 MenuItem item2\_2 = new MenuItem("String suchen");
 menu2.add(item2\_1);
 menu2.add(item2\_2);
 menüleiste.add(menu2);


 // Ein Panel anlegen, in dem wir den Textbereich sowie die Choice-Liste
 // für die Schriftart
 // auswählen
 Panel p\_außen = new Panel();
 p\_außen.setLayout(new BorderLayout());



 // Eine Text-Komponente anlegen
 textanzeige = new Text(ZEILEN,SPALTEN);
 textanzeige.setEditable(true);


 p\_außen.add("Center",textanzeige); // Textfläche zum Panel hinzufügen


 // Ein inneres Panel anlegen. Dort kommen die Auswahlmöglichkeiten 
 // hinein
 Panel p\_innen = new Panel();
 p\_innen.setLayout(new GridLayout(4,1));

 String[] fontNames;
 fontNames = GraphicsEnvironment.
 getLocalGraphicsEnvironment().
 getAvailableFontFamilyNames();
 fonts = new Choice();
 for(int i = 0; i 

Grüße, Tanja

Dankeschön!!!
Danke, für deinen Beitrag!!!
Mit der Applikation hast du mir schon sehr geholfen!

Gruß L@her