 | |
27.06.2005, 11:03
| Nach oben
#21 | | Gast |
Hmm, wenn gar nichts passiert, dann gibts 2 Möglichkeiten die mir einfallen:
Entweder fehlen die beiden Zeilen: PHP-Code: button.addActionListener(this); button.setActionCommand("lesen");
(Wenn die fehlen, dann guck dir mein Beispiel nochmal an und füg sie ein)
Oder die Datei ist leer (wenn der Pfad falsch wäre oder die Datei nicht existieren würde, würde bei Knopfdruck ja wenigstens der Fehler angezeigt werden)
Wenn beides nicht der Fall ist poste bitte mal deinen kompletten Quellcode.
Gruß, Boar
| |
| |
27.06.2005, 11:13
| Nach oben
#22 | | Sesselkleber
Registriert seit: 17.01.2005
Beiträge: 582
|
Funktionieren die andern Knöpfe denn?
Kannst du mal die Codezeilen posten die mit dem Button zu tun haben?
|
| |
27.06.2005, 11:13
| Nach oben
#23 | | Gast |
Super!!!
Ich habs.
Kann man ein paar Texte in den jeweiligen Ordner legen und nach Zufallsprinzip auswählen lassen?
Der vorherige Text sollte wieder gelöscht werden. Im Moment kommt einfach der Text unter den vorherigen. So passiert es, dass wenn ich 3mal auf den Button drücke, 3mal der "Siedler-Text" erscheint(untereinander).
__________________________
Aber vorerst möcht ich mich bedanken!!! 
Für eure freundliche Hilfe!!! | |
| |
27.06.2005, 11:29
| Nach oben
#24 | | Gast |
Woran lags denn jetzt? *neugier*
Das Bild bindest du am einfachsten ein, indem du ein Label direkt unter der TextArea platzierst (Sollte mit dem entsprechenden Layout kein Problem sein) und das Bild im Label anzeigen lässt. Das geht dann so: PHP-Code: JLabel label = new JLabel(new ImageIcon("test.jpg"),JLabel.CENTER);
oder so: PHP-Code: JLabel label = new JLabel("",JLabel.CENTER); label.setIcon(new ImageIcon("test.jpg"));
EDIT:
Huch, jetzt hast du die Frage nach dem Bild ja wieder entfernt
Das mit dem Zufallsprinzip und dem Löschen is kein Problem.
Ändere die lesen()-Methode ein wenig ab, damit der Pfad immer an die Methode übergeben wird und vor dem einlesen der Datei die TextArea geleert wird: PHP-Code: public void lesen(String pfad) { BufferedReader Bf; String line; ta.setText("");
try { Bf = new BufferedReader( new FileReader(pfad)); while ((line = Bf.readLine()) != null) ta.append(line+"\n"); Bf.close(); } catch (IOException e) { ta.setText("Fehler beim Lesen der Datei"); } }
Dann musst du in die actionPerformed()-Methode eine Zufallsauswahl einbauen: PHP-Code: if(arg0.getActionCommand().equals("lesen")) { int n = (int)(Math.random()* 4); switch(n) { case 0: lesen("./siedler.txt"); case 1: lesen("./text2.txt"); case 2: lesen("./text3.txt"); case 3: lesen("./text4.txt"); } }
Das wars eigentlich schon.
Gruß, Boar | |
| |
27.06.2005, 12:07
| Nach oben
#25 | | Gast |
Cool.
Werds schnell versuchen.
Der Fehler war das ich vergessen hatte diesen Codeteil wieder auszukommentieren :rolleyes: PHP-Code: if(button2 == arg0.getSource())
Jaja ich weiss ich bin dumm | |
| |
27.06.2005, 12:27
| Nach oben
#26 | | Gast |
ÖÖÖhm
Was muss ich bei diesem Eintrag ersetzen? PHP-Code: case 0: lesen("./siedler.txt"); case 1: lesen("./menschaergeredichnicht.txt");
Das lesen stimmt nicht...
Habs ja etwas anders gemacht. (siehe oberer Post)
Und hier geht es irgendwie nicht: PHP-Code: public void lesen(String pfad)
Was muss ich bei String pfad angeben?
| |
| |
27.06.2005, 13:15
| Nach oben
#27 | | Gast | Zitat: |
Zitat von Muluf ÖÖÖhm
Was muss ich bei diesem Eintrag ersetzen? PHP-Code: case 0: lesen("./siedler.txt"); case 1: lesen("./menschaergeredichnicht.txt");
Das lesen stimmt nicht...
Habs ja etwas anders gemacht. (siehe oberer Post)
Und hier geht es irgendwie nicht: PHP-Code: public void lesen(String pfad)
Was muss ich bei String pfad angeben? | Fehlermeldungen wären hilfreich.  Ich kann mir im moment nämlich nicht erklären warum er public void lesen(String pfad) nicht aktzeptieren sollte.
Gruß, Boar
| |
| |
27.06.2005, 13:26
| Nach oben
#28 | | Gast |
Ich hab public void lesen(String pfad) eingesetzt und danach erscheint eine Fehlermeldung beim ActionListener: PHP-Code: if(button2 == arg0.getSource()) {
lesen();
lesen(); wird nun falsch...
| |
| |
27.06.2005, 13:27
| Nach oben
#29 | | Erfahrener Benutzer
Registriert seit: 02.02.2005
Beiträge: 559
|
du musst dem lesen ja auch deinem Pfad mitgeben ...
|
| |
27.06.2005, 13:30
| Nach oben
#30 | | Gast |
Dann stimmts immer noch nicht.
Fehlermeldung: Syntax Error, delete this token "pfad".
| |
| |
27.06.2005, 13:40
| Nach oben
#31 | | Erfahrener Benutzer
Registriert seit: 02.02.2005
Beiträge: 559
|
Hab den Thread bis jetzt net verfolgt. Wenn du mal die ganze "lesen"-Methode postest, wie du sie aufrufst und die Fehlermeldung die geworfen wird postest wäre ich dir sehr dankbar |
| |
27.06.2005, 13:45
| Nach oben
#32 | | Gast | PHP-Code: public void lesen(String pfad){ String line; ta.setText("");
try { Bf = new BufferedReader( new FileReader("./siedler.txt")); while ((line = Bf.readLine()) != null) ta.append(line+"\n"); Bf.close(); } catch (IOException e) { ta.setText("Fehler beim Lesen der Datei"); }}
Das wäre sie... Es geht ums Zufallsprinzip beim File einlesen. | |
| |
27.06.2005, 13:51
| Nach oben
#33 | | Erfahrener Benutzer
Registriert seit: 02.02.2005
Beiträge: 559
| Zitat: |
Zitat von Hobbit_im_Blutrausch Hab den Thread bis jetzt net verfolgt. Wenn du mal die ganze "lesen"-Methode postest, wie du sie aufrufst und die Fehlermeldung die geworfen wird postest wäre ich dir sehr dankbar  | joa, und das andere?
|
| |
27.06.2005, 13:54
| Nach oben
#34 | | Gast | PHP-Code: if(button2 == arg0.getSource()) { //ta.setText("Nächstes Produkt"); lesen(String pfad);
Das wäre dann beim ActionListener.
Oder willst du den ganzen Code? :confused:
| |
| |
27.06.2005, 14:08
| Nach oben
#35 | | Sesselkleber
Registriert seit: 17.01.2005
Beiträge: 582
| Zitat: |
Zitat von Muluf PHP-Code: if(button2 == arg0.getSource()) {
//ta.setText("Nächstes Produkt");
lesen(String pfad);
Das wäre dann beim ActionListener.
Oder willst du den ganzen Code? :confused: | 
Er möchte etwaige Fehlermeldungen wissen.
|
| |
27.06.2005, 14:12
| Nach oben
#36 | | Erfahrener Benutzer
Registriert seit: 02.02.2005
Beiträge: 559
|
Rrrrrrrrrrrrrrichtig |
| |
27.06.2005, 14:14
| Nach oben
#37 | | Gast |
Jetzt seh ich das Problem!
du hast mein Vorschlag nicht 100% übernommen. Erstetze in deiner lesen()-Methode die Zeile new FileReader("./siedler.txt")); durch diese hier: PHP-Code: new FileReader(pfad));
Und der ActionListener sollte auch anders aussehen, da steht dann nicht lesen(String pfad) sondern das hier: PHP-Code: if(button2 == arg0.getSource()) { int n = (int)(Math.random()* 4); switch(n) { case 0: lesen("./siedler.txt"); case 1: lesen("./text2.txt"); case 2: lesen("./text3.txt"); case 3: lesen("./text4.txt"); } }
text2, text3, text4 musst du natürlich durch deine Dateinamen ersetzen.
Gruß, Boar
| |
| |
27.06.2005, 14:31
| Nach oben
#38 | | Gast |
Cool. Danke
Aber jetzt habe ich 2 verschiedene Texte. Und es kommt komischerweise immer wieder der gleiche... | |
| |
27.06.2005, 14:36
| Nach oben
#39 | | Gast |
Wenn du nur 2 verschiedene Texte hast, muss der Aufruf im ActionListener so aussehen: PHP-Code: if(button2 == arg0.getSource()) { int n = (int)(Math.random()* 2); switch(n) { case 0: lesen("./siedler.txt"); case 1: lesen("./menschaergeredichnicht.txt"); } }
n bekommt dann bei jedem Aufruf zufällig den Wert 0 oder 1, es kann natürlich sein, dass ein Text ein paar mal hintereinander kommt, aber normalerweise sollte spätestens nach 5 Buttonklicks auch der andere Text kommen, alles andere währe ziemlich unwahrscheinlich.
Achso, hast du auch daran gedacht in der lesen()-Methode die Zeile zu ändern? (siehe meinen letzten Post) Weil sonst rufst du immer siedler.txt auf.
Gruß, Boar
| |
| |
27.06.2005, 14:39
| Nach oben
#40 | | Gast |
Jo das bei den Cases habe ich gemerkt.
In der Methode ist auch new FileReader(pfad));
Komisch...
| |
| | |
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 21:38 Uhr.
|