Undzwar geht es bei mir um ein Applet, welches 2 textares beinhalt undzwar ein Input und ein Output.
in dem input kann man beispielstweise irgendetwas eingeben, welcher im output gleichzeitig ausgegeben wird.
nun ist es so dass man zwar einstellen kann dass die ZeilenumbrÜche
automatisch gemacht werden, aber der eingegebene Text dabei nicht wirklich verändert
wird.Wenn man also den Text danach beispielsweise in einer Datei speichert, ist von den
automatisch "eingefügten“ Zeilenumbrüchen nichts mehr zu sehen.
nun möchte ich die Methode autowrap, die bei jeder Eingabe eines Zeichens im input aufgerufen wird, so verändern, dass der Text im output genauso aussieht wie oben. da ich aber noch nicht soviel erfahrung mit java habe, weiss ich noch nicht genau wie ich an an das problem rangehen soll. ich hab nur die schriftart so eingestellt dass die nichtpropotional ist, d.h. dass in jede Zeile genau gleich viele zeichen passen (30), so dass ich auch den fall mit leerzeichen leichter umgehen kann aber mir fehlt trotzdem noch die idee.
nun zu der Klasse:
ich habe in der methode einfach mal "outputString=input.getText();" zu stehen damit jetzt überhaupt etwas im output angezeigt bekomme.
ich hoffe ihr könnt mir weiter helfen.
danke
in dem input kann man beispielstweise irgendetwas eingeben, welcher im output gleichzeitig ausgegeben wird.
nun ist es so dass man zwar einstellen kann dass die ZeilenumbrÜche
automatisch gemacht werden, aber der eingegebene Text dabei nicht wirklich verändert
wird.Wenn man also den Text danach beispielsweise in einer Datei speichert, ist von den
automatisch "eingefügten“ Zeilenumbrüchen nichts mehr zu sehen.
nun möchte ich die Methode autowrap, die bei jeder Eingabe eines Zeichens im input aufgerufen wird, so verändern, dass der Text im output genauso aussieht wie oben. da ich aber noch nicht soviel erfahrung mit java habe, weiss ich noch nicht genau wie ich an an das problem rangehen soll. ich hab nur die schriftart so eingestellt dass die nichtpropotional ist, d.h. dass in jede Zeile genau gleich viele zeichen passen (30), so dass ich auch den fall mit leerzeichen leichter umgehen kann aber mir fehlt trotzdem noch die idee.
nun zu der Klasse:
Code:
import java.applet.Applet;
import java.awt.event.TextListener;
import java.awt.event.TextEvent;
import java.lang.String;
public class RealWraps extends Applet
{
TextArea input, output;
String inputString, outputString;
public void init()
{
setFont(new Font("Times",Font.PLAIN, 24));
setSize(900, 650);
inputString = new String();
input = new TextArea(null,10,30,TextArea.SCROLLBARS_NONE);
input.setFont(new Font("Courier",Font.BOLD, 24));
input.addTextListener(new TextListener()
{
public void textValueChanged(TextEvent e)
{
autowrap();
}
});
output = new TextArea(null,10,50,TextArea.SCROLLBARS_BOTH);
output.setFont(new Font("Courier",Font.BOLD, 24));
output.setEditable(false);
add(input);
add(output);
}
public void autowrap()
{
outputString=input.getText();
output.replaceRange(outputString,0,output.getText().length());
}
}
ich habe in der methode einfach mal "outputString=input.getText();" zu stehen damit jetzt überhaupt etwas im output angezeigt bekomme.
ich hoffe ihr könnt mir weiter helfen.
danke