|  | | |

21.06.2011, 16:25
| | | Java Texteditor
Hallo Forum!
Ich habe mal wieder eine Frage zu Java. Ich hab die Aufgabe bekommen, einen Texteditor zu erstellen. Nun meine Frage: Ich bekomme das nicht auf die Reihe, dass der die Befehle für Drucken, Speichern und Beenden annimmt und "abspielt". Das funktioniert bei mir einfach nicht. Hier mein Quelltext: Code: import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import javax.swing.*;
import javax.swing.event.MenuKeyEvent;
import javax.swing.event.MenuKeyListener;
public class Main extends JFrame
{
String CopiedText;
public static JTextArea TextField;
JMenuBar MenuBar;
JMenu Datei;
JMenuItem Öffnen, Drucken, Speichern_unter, Beenden;
JScrollPane ScrollPane;
JFileChooser FileChooser;
MenuKiiListener listener;
public Main()
{
super("Texteditor");
this.setBounds(0, 0, 800, 800);
this.setLayout(new BorderLayout());
TextField = new JTextArea();
TextField.setBounds(0, 0, 100, 100);
this.add(TextField, BorderLayout.CENTER);
listener = new MenuKiiListener();
MenuBar = new JMenuBar();
Datei = new JMenu("Datei");
Speichern = new JMenuItem("Speichern");
Öffnen = new JMenuItem("Öffnen");
Drucken = new JMenuItem("Drucken");
Speichern_unter = new JMenuItem("Speichern unter");
Beenden = new JMenuItem("Beenden");
Speichern.addActionListener(listener);
Öffnen.addActionListener(listener);
Drucken.addActionListener(listener);
Speichern_unter.addActionListener(listener);
Beenden.addActionListener(listener);
Datei.add(Speichern);
Datei.add(Öffnen);
Datei.add(Drucken);
Datei.add(Speichern_unter);
Datei.addSeparator();
Datei.add(Beenden);
MenuBar.add(Datei);
ScrollPane = new JScrollPane();
ScrollPane.setViewportView(TextField);
this.add(ScrollPane, BorderLayout.CENTER);
this.setJMenuBar(MenuBar);
this.setVisible(true);
}
public static void main(String[] args)
{
Main myMain = new Main();
}
JMenuItem Speichern;
}
class MenuKiiListener implements ActionListener
{
JFileChooser chooser;
DataInputStream reader;
String sText;
FileOutputStream fos;
DataOutputStream dos;
public MenuKiiListener()
{
chooser = new JFileChooser();
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand() == "Speichern unter")
{
int returnv = chooser.showSaveDialog(null);
if (returnv == chooser.APPROVE_OPTION)
{
File myfile = chooser.getSelectedFile();
if (!myfile.getName().endsWith(".txt"))
{
//myfile.getName() += ".txt";
}
{
try
{
fos = new FileOutputStream(myfile);
}
catch (FileNotFoundException e1) {}
dos=new DataOutputStream(fos);
try {
dos.writeChars(Main.TextField.getText());
} catch (IOException e1) {}
}
}
}
if (e.getActionCommand() == "Öffnen")
{
int returnv = chooser.showOpenDialog(null);
if (returnv == chooser.APPROVE_OPTION)
{
File myfile = chooser.getSelectedFile();
try
{
BufferedInputStream buffered = new BufferedInputStream(new FileInputStream(myfile));
reader = new DataInputStream(buffered);
try
{
while((sText = reader.readLine()) != null)
{
Main.TextField.append(sText);
}
}
catch (IOException e1) {}
}
catch (FileNotFoundException e1) {}
finally
{
}
}
}
if (e.getActionCommand() == "Drucken")
{
System.out.println("Hi");
}
if (e.getActionCommand() == "Speichern")
{
System.out.println("Hi");
}
if (e.getActionCommand() == "Beenden")
{
System.out.println("Hi");
}
}
} Bitte um Hilfe. :/
LG
Infernostar
EDIT: Falsches Forum!
Geändert von Infernostar (21.06.2011 um 16:33 Uhr).
|  Heute
| | | Hardware Bot Computer Informationen | | Diese Werbung wird registrierten Mitgliedern nicht angezeigt. auf PCMasters.de | | Weitere Informationen | |

21.06.2011, 18:04
| | |
Funktioniert doch alles. Wird halt nur ein "Hi" in der Konsole ausgegeben... | |

21.06.2011, 20:52
| | |
Ja, das habe ich als "Platzbesetzer" dahin geschrieben. Aber wie ich das programmieren soll, mit welchen Konstruktoren etc. weiß ich nicht....
| |

21.06.2011, 21:10
| | | | |

24.06.2011, 17:52
| | |
Das mit dem Drucken krieg ich hoffentlich bald raus. ^^
Und mit Speichern: ich muss doch nur: doSaveCommand(); benutzen, oder nicht? Wenn ja, geht das irgendwie nicht, weiß nicht, warum nicht....
| |

24.06.2011, 18:02
| | |
doSaveCommand()? Du meinst irgendwie wegen dem getActionCommand()? Das hat damit nichts zu tun. Ich denke auch nicht, dass es eine doSaveCommand()-Methode gibt.
Außerdem hast du doch oben schon alles was du brauchst, bei der Action für Speichern unter (der "Text" wird übrigens als " T e x t" gespeichert, aber erst mal wayne). Du könntest alles in eine neue IF-Anweisung kopieren und die Auswahl des Pfades (den JFileChooser) weg lassen. Das ist aber recht "dumm" programmiert.
Speicher dir einfach das File als Klassen-Attribut, dann kannst du immer drauf zugreifen und hast den Pfad wenn eine Datei geöffnet oder schon mal mit "Speichern unter" gespeichert wurde.
Hast du den Code selbst geschrieben? Ich glaube nicht, dass du den verstanden hast?
| |

24.06.2011, 18:34
| | |
Na ja, teils, teils. Ein Freund hat was geschrieben, ich und den Rest mussten wir aus dem Internet für das Projekt suchen, weil wir das noch nicht hatten. Zudem habe ich vieles verpasst im Unterricht, da ich häufig nicht da war.
Deswegen brauche ich jetzt Hilfe. :S
PS: Hast du ICQ, MSN oder Skype?
| Neue Frage stellen? | | | |  |
Sie betrachten gerade: Java Texteditor |