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