TXT Datei in Fenster ausgeben
Benedikt Sauer
- java
0 David Tibbe0 Benedikt Sauer0 Slyh0 Benedikt Sauer0 Slyh0 Benedikt Sauer0 Slyh0 Benedikt Sauer0 Slyh
Hallo Programmierer!!
ICh benötige unbedingt Hilfe!! Ich brauche bis heute Abend ein ganz kleines Programm das eine Textdatei ausliest und den Inhalt in ein neues Fenster überträgt. Es sollte unterhalb des Textes noch ein Button sein um das Fenster zu schließen. Wäre echt super nett, wenn mir da jemand ein Programm schicken könnte.
Benedikt
Hallo Benedikt,
Wäre echt super nett, wenn mir da jemand ein Programm schicken könnte.
Das klingt irgendwie sehr nach "Hausaufgabe" oder so. Wieso sollten "wir" die für dich machen? Bitte schlag doch noch einmal http://dict.leo.org/?self nach...
Wenn du konkrete Probleme hast, so kannst du natürlich gerne fragen, aber fertige Lösungen gibt's hier nicht.
Grüße
David
Hallo Benedikt,
Wäre echt super nett, wenn mir da jemand ein Programm schicken könnte.
Das klingt irgendwie sehr nach "Hausaufgabe" oder so. Wieso sollten "wir" die für dich machen? Bitte schlag doch noch einmal http://dict.leo.org/?self nach...
Wenn du konkrete Probleme hast, so kannst du natürlich gerne fragen, aber fertige Lösungen gibt's hier nicht.Grüße
David
Ne ist keine Hausaufgabe!!
Hier mein Code (Anwendung1):
import javax.swing.UIManager;
import java.awt.*;
public class Anwendung1 {
boolean packFrame = false;
/**Die Anwendung konstruieren*/
public Anwendung1() {
Frame1 frame = new Frame1();
//Frames überprüfen, die voreingestellte Größe haben
//Frames packen, die nutzbare bevorzugte Größeninformationen enthalten, z.B. aus ihrem Layout
if (packFrame) {
frame.pack(); }
else {
frame.validate();
}
//Das Fenster zentrieren
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
}
/**Main-Methode*/
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
e.printStackTrace();
}
new Anwendung1();
}
}
----------------------------------------
Hier ist der Code von Frame1:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Frame1 extends JFrame {
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JPanel jPanel1 = new JPanel();
JButton jButton1 = new JButton();
/**Den Frame konstruieren*/
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/**Initialisierung der Komponenten*/
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Ihr Symbol]")));
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(1000, 750));
this.setTitle("Anmeldung auf Sauercenter");
jPanel1.setLayout(null);
jButton1.setText("OK");
jButton1.setBounds(new Rectangle(415, 643, 108, 44));
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
contentPane.add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jButton1, null);
int c;
try {FileReader f = new FileReader("Test.txt");
while ((c=f.read()) != -1)
System.out.print ((char)c);
}
catch (IOException e) {
System.out.println("Fehler beim Lesen!!");
}
}
/**Überschrieben, so dass eine Beendigung beim Schließen des Fensters möglich ist.*/
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void jButton1_actionPerformed(ActionEvent e) {
System.exit(0);
}
}
------------------
Das Problem ist, dass der Text aus der Datei zwar in der Konsole ausgegeben wird aber nicht im Fenster!!
Wäre super, wenn mir jemand Tipps geben könnte 8bzw. Verbesserungsvorschläge)
Hallo,
jetzt fügst du zu dem Panel mal noch eine JTextArea hinzu, denn
schließlich soll der Text ja irgendwo ausgegeben werden.
Die JTextArea füllst du dann so ungefähr wie da unten:
int c;
try {FileReader f = new FileReader("Test.txt");
while ((c=f.read()) != -1)
System.out.print ((char)c);
}
Wobei es eine ausgesprochen schlechte Idee ist, eine Textdatei zeichen-
weise und noch dazu ungepuffert auszugeben. Du solltest dir dringend
mal den BufferedReader anschauen. Mit dem kannst du den Text dann auch
zeilenweise auslesen (-> Methode "readLine()").
Am einfachsten wäre es wohl, du würdest den Text zeilenweise auslesen
und jede Zeile dann an die TextArea anfügen (-> "append(String)").
Hier noch zwei Links zum Nachschlagen:
http://java.sun.com/j2se/1.4.2/docs/api/java/io/BufferedReader.html
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JTextArea.html
Gruß
Slyh
Hallo!!
Ich bekomme es einfach nicht hin in eine TextArea ein Text aus einer Datei einzufügen!! Sitze jetzt schon einige Zeit dran und bekomme es nicht hin. Wäre super nett, wenn mir da jemand weiterhelfen könnte. Ich kann auch die Dateien zuschicken!!
Benedikt
Hallo,
Ich bekomme es einfach nicht hin in eine TextArea ein Text aus einer Datei einzufügen!!
Ja, das schriebst du schon in deinem ersten Posting...
Sitze jetzt schon einige Zeit dran und bekomme es nicht hin. Wäre super nett, wenn mir da jemand weiterhelfen könnte. Ich kann auch die Dateien zuschicken!!
Aha. Was geht nicht?
Wo ist das Problem die JTextArea einzufügen? Den restlichen Dialog hast
du ja wohl auch selbst gemacht, oder? Sieht sehr nach JBuilder aus. Füg
doch bitte noch eine JTextArea hinzu.
Und dann schreibst du einfach dort, wo du jetzt schon ein System.out.println()
machst, folgendes:
myCoolTextArea.append(line);
(Vorausgesetzt du hast die TextArea "myCoolTextArea" benannt.)
That's all. Ich sehe das Problem nicht. Sorry.
Gruß
Slyh
Hallo!!
Jetzt habe ich mein Fehler gefunden, weshalb es nicht so funktioniert hat. Jetzt eine letzte Frage: Der Text aus der Datei wird in eine Zeile geschrieben. Wie kann ich die Formatierung der textdatei in die TextArea übernehmen??
Benedikt
Hallo,
Jetzt eine letzte Frage: Der Text aus der Datei wird in eine Zeile geschrieben. Wie kann ich die Formatierung der textdatei in die TextArea übernehmen??
Einfach ein myCoolTextArea.append("\n"); nach jeder eingelesen und
angefügten Zeile aufrufen.
Gruß
Slyh
Hallo!!
Hat jetzt mit dem Zeilenumbruch auch funktioniert. --> kann man für das TextArea auch eine SrollPane benutzen (weil TextArea feste Größen hat)
Benedikt
Hallo,
Hat jetzt mit dem Zeilenumbruch auch funktioniert. --> kann man für das TextArea auch eine SrollPane benutzen (weil TextArea feste Größen hat)
Jap. Schau in der API-Doku nach "JScrollPane". (Da gibt's auch ein
Tutorial dazu.)
Übrigens darfst du ruhig vorher selbst schauen, bevor du hier eine
Frage postest.
Gruß
Slyh
Hallo!!
Habe jetzt statt der TextArea eine ScrollPane benutzt. Da es ja append nicht gibt, wollte ich fragen, was man anstatt append benutzen kann um Text aus einer Datei in ein ScrollPane zu legen.
Benedikt