Hallo!
Ich bin neu hier im Forum, und ich erhoffe mir, dass ich Hilfe bekomme.
Ich muss für ein Projekt einen Java-Texteditor erstellen.
Hier mein Quelltext:
Soweit, so gut. Aber ich muss noch Schriftart und Schriftgröße hineinbringen, und die Dinge, die ich bei Speichern probiert habe, funktionieren auch nicht sonderlich.
Ich war lange nicht da im Unterricht, so dass ich vieles nicht selber gemacht habe und vieles leider verpasst habe. Deswegen brauche ich eure Hilfe. :S
Vielen Dank!!
LG
Inferno
Ich bin neu hier im Forum, und ich erhoffe mir, dass ich Hilfe bekomme.
Ich muss für ein Projekt einen Java-Texteditor erstellen.
Hier mein Quelltext:
Code:
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.PrintJob;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
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, Neu;
JScrollPane ScrollPane;
JFileChooser FileChooser;
MenuKiiListener keylistener;
FensterListener windowlistener;
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);
keylistener = new MenuKiiListener();
windowlistener = new FensterListener();
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");
Neu = new JMenuItem("Neu");
Speichern.addActionListener(keylistener);
Öffnen.addActionListener(keylistener);
Drucken.addActionListener(keylistener);
Speichern_unter.addActionListener(keylistener);
Beenden.addActionListener(keylistener);
Neu.addActionListener(keylistener);
this.addWindowListener(windowlistener);
Datei.add(Neu);
Datei.addSeparator();
Datei.add(Speichern);
Datei.add(Öffnen);
Datei.add(Drucken);
Datei.add(Speichern_unter);
Datei.addSeparator();
Datei.add(Beenden);
MenuBar.add(Datei);
ScrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
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;
FileOutputStream fos;
DataOutputStream dos;
BufferedReader buffered;
public MenuKiiListener()
{
chooser = new JFileChooser();
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand() == "Neu")
{
new Main();
}
if (e.getActionCommand() == "Speichern unter")
{
int returnv = chooser.showSaveDialog(null);
if (returnv == chooser.APPROVE_OPTION)
{
if (chooser.getSelectedFile().getName().endsWith(".txt"))
{
chooser.getSelectedFile().renameTo(new File(chooser.getSelectedFile().getAbsolutePath() + ".txt"));
}
File myfile = chooser.getSelectedFile();
{
try
{
fos = new FileOutputStream(myfile);
}
catch (FileNotFoundException e1) {}
dos=new DataOutputStream(fos);
try {
dos.writeChars(Main.TextField.getText());
} catch (IOException e1) {}
}
try
{
dos.close();
}
catch (IOException e1) {}
}
}
if (e.getActionCommand() == "Öffnen")
{
int returnv = chooser.showOpenDialog(null);
if (returnv == chooser.APPROVE_OPTION)
{
Main.TextField.setText(null);
File myfile = chooser.getSelectedFile();
try
{
buffered = new BufferedReader(new FileReader(myfile));
String sZeile = null;
try
{
while((sZeile = buffered.readLine()) != null)
{
Main.TextField.append(sZeile + "\n");
}
}
catch (IOException e1) {}
}
catch (FileNotFoundException e1) {}
finally
{
try {
buffered.close();
} catch (IOException e1) {}
}
}
}
if (e.getActionCommand() == "Drucken")
{
Toolkit tk = Toolkit.getDefaultToolkit();
PrintJob pj = tk.getPrintJob( new JFrame(), "",null );
}
if (e.getActionCommand() == "Speichern")
{
System.out.println("Hi");
}
if (e.getActionCommand() == "Beenden")
{
System.exit(0);
}
}
}
class FensterListener implements WindowListener
{
public void windowActivated(WindowEvent arg0) { }
public void windowClosed(WindowEvent arg0) { }
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public void windowDeactivated(WindowEvent arg0) { }
public void windowDeiconified(WindowEvent arg0) { }
public void windowIconified(WindowEvent arg0) { }
public void windowOpened(WindowEvent arg0) { }
}
Soweit, so gut. Aber ich muss noch Schriftart und Schriftgröße hineinbringen, und die Dinge, die ich bei Speichern probiert habe, funktionieren auch nicht sonderlich.
Ich war lange nicht da im Unterricht, so dass ich vieles nicht selber gemacht habe und vieles leider verpasst habe. Deswegen brauche ich eure Hilfe. :S
Vielen Dank!!
LG
Inferno