 |
19.05.2005, 13:39
| Nach oben
#1 | | Gast | Neue Seite
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!
| |
| |
19.05.2005, 15:57
| Nach oben
#2 | | Gast |
Also das mit dem weiterblättern willst du implementieren oder wozu hast du die Frage?
Vielleicht solltest du noch weitere Informationen dazu posten - was verwendest du zur Texteingabe ? Ein JTextPane, JTextArea etc. pp. ?
Ein bisschen Code ist nie schlecht...
| |
| |
19.05.2005, 17:40
| Nach oben
#3 | | Sesselkleber
Registriert seit: 17.01.2005
Beiträge: 582
|
Und TextField klingt so nach richtiger GUI... warum nimmst du da nicht gleich ne ScrollBar?
Die kannst du auch manipulieren (alos hoch und runter rutschen), z. B. durch einen neuen Button.
Andererseits... bei einer ScrollBar eigentlich überflüssig.
Gruß
Sparrow
|
| |
19.05.2005, 18:58
| Nach oben
#4 | | Gast | Code PHP-Code: 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");
}
}
| |
| |
19.05.2005, 20:21
| Nach oben
#5 | | Gast |
Bitte könnte mir einer helfen muss das bis morgen abgeben!
| |
| |
20.05.2005, 01:32
| Nach oben
#6 | | Gast |
Ich versteh das Problem nicht so recht das du hast - was kriegst du nicht hin etc. ?
Aber es scheint sich ja eh erledigt zu haben wenn du es morgen abgeben musst.....
| |
| |
20.05.2005, 06:43
| Nach oben
#7 | | Benutzer
Registriert seit: 29.05.2004
Beiträge: 45
|
Wenn du das Feld in ein ScrollPane packen willst: Code: ScrollPane textAreaScrollPane = new ScrollPane();
...
textAreaScrollPane.add( textAreaPanel );
...
add( "Center", textAreaScrollPane );
ungetestet aus Zeitmangel, muss los |
| |
20.05.2005, 07:11
| Nach oben
#8 | | Gast |
wegen abgabe egal.
Aber passt auf ich möchte das auf dem textarea nur 21 zeilen angezeigt werden und danach auf einen button klicke und dann zeigt der mir die nächsten 21 zeilen an und das auch umgekehrt.
| |
| |
21.05.2005, 16:34
| Nach oben
#9 | | Chefkoch-Mod
Registriert seit: 30.05.2004
Beiträge: 432
|
Hi,
Du kannst die Zeilen doch zählen oder nicht? Und ein TextArea kann einem auf die Zeilen zurückgeben. Wo genau ist denn Dein Problem. Aus Zeitmangel kann ich mir den Quellcode nicht genauer verinnerlichen. |
| | |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | | | | Themen-Optionen | Thema durchsuchen | | | |
Forumregeln
| Es ist dir nicht erlaubt, neue Themen zu verfassen. Es ist dir nicht erlaubt, auf Beiträge zu antworten. Es ist dir nicht erlaubt, Anhänge hochzuladen. Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten. HTML-Code ist aus. | | | Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr.
|