Neue Seite
lima-city → Forum → Programmiersprachen → Java
background
button
catch
center
datei
fehler
final
gen
import
laden
message
mode
normaler editor
nummer
panel
save
show
speicher
voll laden
zeile
-
Hi,
wie m?ssen in der schule ein programm zu ende machen, das programm ist ein ganz normaler editor. mit speichern und laden.
Ich wolllte noch was dazu f?gen.
Und zwar nach der 21 zeile kann man dann bl?ttern eine seite weiter.Also quasi ich habe die ersten 21 Zeilen und danach klicke ich auf einen button und dann bl?ttert er weiter bzw. l?scht den Inhalt vom textfeld und dann schreibt er dann die n?chsten 21 zeilen von der datei!
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class FileSaveLoadText extends Frame implements ActionListener
{
private final int LOAD_MODE = 1;
private final int SAVE_MODE = 2;
private TextArea textArea;
private TextField messageField;
private Button saveButton;
private Button loadButton;
private Button clearButton;
private String fileName;
public FileSaveLoadText (String titel)
{
super (titel);
makeGUI ();
addWindowListener (new WindowAdapter ()
{ public void windowClosing (WindowEvent windowevent)
{ System.exit (0); }} );
setSize (500,400);
setResizable (false);
setLocation (100, 50);
show ();
}
public void makeGUI ()
{
setLayout (new BorderLayout ());
Panel textAreaPanel = new Panel ();
Panel bottomPanel = new Panel ();
Panel buttonPanel = new Panel ();
Panel messagePanel = new Panel ();
textAreaPanel.setLayout (new BorderLayout ());
bottomPanel.setLayout (new GridLayout (2, 1));
buttonPanel.setLayout (new GridLayout (1, 3));
messagePanel.setLayout (new BorderLayout ());
textArea = new TextArea ();
textAreaPanel.add ("Center", textArea);
loadButton = new Button ("Laden");
saveButton = new Button ("Save");
clearButton = new Button ("Clear");
loadButton.addActionListener (this);
saveButton.addActionListener (this);
clearButton.addActionListener (this);
buttonPanel.add (loadButton);
buttonPanel.add (saveButton);
buttonPanel.add (clearButton);
messageField = new TextField ();
messageField.setEditable (false);
messageField.setBackground (Color.lightGray);
messagePanel.add ("Center", messageField);
bottomPanel.add (buttonPanel);
bottomPanel.add (messagePanel);
add ("Center", textAreaPanel);
add ("South", bottomPanel);
}
public void actionPerformed (ActionEvent event)
{
Object eventObject = event.getSource ();
if (eventObject == saveButton)
{
saveText ();
}
else
if (eventObject == loadButton)
{
loadText ();
}
else
if (eventObject == clearButton)
{
setMessage ("", Color.lightGray, Color.black);
textArea.setText ("");
}
}
private void saveText ()
{
getFileName (SAVE_MODE);
try
{
FileWriter file = new FileWriter (fileName);
BufferedWriter output = new BufferedWriter (file);
output.write (textArea.getText ());
output.close ();
setMessage ("Speichern erfolgreich: " + fileName, Color.green, Color.black);
}
catch (IOException e)
{
setMessage ("Fehler beim Speichern: " + fileName, Color.red, Color.black);
}
}
private void loadText ()
{
getFileName (LOAD_MODE);
this.setTitle ("Dateibetrachter: " +fileName);
textArea.setText ("");
try
{
FileReader file = new FileReader (fileName);
BufferedReader input = new BufferedReader (file);
String line;
line = input.readLine ();
while (line != null)
{
textArea.append (line + "\n");
line = input.readLine ();
}
setMessage ("Laden erfolgreich: "+ fileName, Color.green, Color.black);
}
catch (Exception e)
{
setMessage ("Fehler beim Laden: " + fileName, Color.red, Color.black);
}
}
private void getFileName (int mode)
{
if (mode == LOAD_MODE)
{
FileDialog fileDialog = new FileDialog (this, "Datei laden", FileDialog.LOAD);
fileDialog.show ();
fileName = fileDialog.getDirectory () + fileDialog.getFile ();
}
if (mode == SAVE_MODE)
{
FileDialog fileDialog = new FileDialog (this, "Datei Speichern: ", FileDialog.SAVE);
fileDialog.show ();
fileName = fileDialog.getDirectory () + fileDialog.getFile ();
}
}
public void setMessage (String message, Color background, Color foreground)
{
messageField.setBackground (background);
messageField.setForeground (foreground);
messageField.setText (message);
}
public static void main (String args [])
{
FileSaveLoadText fileSaveLoadText = new FileSaveLoadText ("Text speichern und laden");
}
}
Das ist mein Quelltext und m?chte es darin einbinden! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich bin jetzt gerade zu faul um in die JavaDoc zu schaun. Es gibt ein LineNumberReader. Das ist ein da kann man Zeilenweise lesen und sich immer die Zeilen nummer geben lassen. Wenn du ?ber den die Datei l?dst k?nntest du deine Funktion bauen.
Du m?sstest die Reader dann in einer Instanzvariable halten. Aber ehrlich gesagt w?rde ich lieber das Text-Area voll laden und dann dann scrollen. Und nicht das komplette ding l?schen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage