Portal > Foren > Java > Allgemeine Java-Programmierung > Probleme mit Streams!
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 22.08.2005, 17:13 Nach oben    #1
dyn
Gast
 
Beiträge: n/a
Standard Probleme mit Streams!

Hi,

ich habe folgendes Problem: mit folgendem Quelltext möchte ich dem Nutzer ermöglichen aus 10 verschiedenen Bereichen zu wählen, die ich alle jeweils als Textdatei angelegt habe.
In diesen Textdateien stehen jeweils Begriffe, die zu den jeweiligen Bereichen passen.
Ich möchte nun, dass der Benutzer einen Begriff in das Textfeld eingibt und der Begriff durch das Betätigen des Buttons ans Ende der ausgewählten Textdatei geschrieben wird.
Im Moment habe ich es aus Testzwecken noch so programmiert, dass einfach durch die printwriter-Methode println etwas reingeschrieben wird. Das funktioniert auch einwandfrei. Sobald ich aber eine String-Variable für das Textfeld erstelle und diese String-Variable per println in die Textdatei schreiben will dreht das Programm bei Knopf-Druck durch
Das war das erste.
Mein zweites Problem ist, dass irgendwie beim Programmstart kein Unterpunkt der Combobox aktiviert ist, was zu unsinnigen Ausgaben führt, wenn man den Button drückt.
Wieso ist der erste eintrag nicht aktiviert wenn ich z.b.

"auswahl.setSelectedIndex(0);" benutze??

Würde mich sehr über Hilfe freuen!
Hier der gesamte Code:

Code:
import java.io.*;
import java.util.Vector;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class terms extends FensterMitController implements ActionListener
{
	
	String bereiche[]= { "Film und Fernsehen", "Orte", "Sport", "Wissenschaft", "Geschichte",
		 		 "Universität", "Literatur", "Lebensmittel", "Umwelt", "Sprichwörter" }; 
  JButton hinzufuegen, neu;
  JTextField text;
  JComboBox auswahl;
  String s, begriff, t, eingabe, textdatei = "";
  int zeilen, bereich;
	  
  public terms() 
  {
	
	initialisiereAttribute();
	// Fenstergroesse setzen
	setSize(640,480);
	// und anzeigen
	setVisible( true );
	
  }
  
  private void initialisiereAttribute()
  {
	
	Container contentPane = getContentPane(); 
	contentPane.setLayout(new FlowLayout()); 
	
	JComboBox auswahl = new JComboBox();
	
	for ( int i = 0; i < bereiche.length; i++ )
	auswahl.addItem( bereiche[i] );
	
	// Problem: Wieso wird es nicht aktiviert?
	auswahl.setSelectedItem(bereiche[0]);
		
	auswahl.addItemListener(new auswahlListener());
			  
	JTextField text = new JTextField("",30);
	 
	
	JButton hinzufuegen = new JButton("Begriff hinzufuegen");
	hinzufuegen.setActionCommand("add");
	hinzufuegen.addActionListener(this); 
	
	contentPane.add(auswahl);
	contentPane.add(text); 
	contentPane.add(hinzufuegen); 
		   
	
  }

  
 class auswahlListener implements ItemListener
 {
 
   public void itemStateChanged(ItemEvent e)
	{
	
	 // Wähle jeweilige Textdatei aus!
	 JComboBox selectedChoice = (JComboBox)e.getSource();
	 int zahl = selectedChoice.getSelectedIndex();
  
	 switch (zahl)
	 {
		case 0: 
		textdatei="FilmUndFernsehen.txt";break;
		   case 1: 
		  textdatei="Orte.txt";break;
		  case 2: 
		  textdatei="Sport.txt";break;
		  case 3: 
		  textdatei="Wissenschaft.txt";break;
			case 4: 
		  textdatei="Geschichte.txt";break;
		  case 5: 
		  textdatei="Universität.txt";break;
		  case 6: 
		  textdatei="Literatur.txt";break;
		  case 7: 
		  textdatei="Lebensmittel.txt";break;
		  case 8: 
		  textdatei="Umwelt.txt";break;
		  case 9: 
		  textdatei="Sprichwörter.txt";break;
	   }
	}
 }
  
   

// hier findet die Ereignisverarbeitung der Buttons statt
  public void actionPerformed(ActionEvent event) 
  {
	  
	String getAC = event.getActionCommand();
	  
	
	if(getAC.equals ("add"))
	{
	  
	  System.out.println("Begriff wurde zum Bereich "+textdatei+" hinzugefügt!");
	  
	  hinzufuegen();
	}
	

		
  }
  
	  public void hinzufuegen()
	{
	Vector v1 = new Vector();
	 
	 try
	 {
				  
		 BufferedReader f = new BufferedReader(new FileReader(textdatei)); 
					   
		// Zeilen werden eingelesen und im Vektor gespeichert.
		 while (f.ready()) 
		{ 				
				
			t = f.readLine();
			v1.addElement(t);
		}
			
			f.close();
		 		 			 
			
	 }
		 catch ( IOException e ) { System.out.println( "Fehler beim Lesen der Datei" ); }
		 
		 try
		 {
			 PrintWriter w = new PrintWriter(textdatei);
			 
			 /* 
			 * Begriff wird hinzugefügt, indem die alten Begriffe erneut geschrieben und
			  * der neue Begriff hinzugefügt wird.
			*/
			 for (int i = 0; i < v1.size(); i++)
			{
				
				w.println(v1.get(i).toString());
			}
			 w.println("Der neue Begriff");
			 
			 w.close();
		 }
		 catch ( IOException e ) { System.out.println( "Fehler beim Lesen der Datei" ); }
	  
	 }
	
  
  public static void main (String args[]) 
  {
	new terms();
  }

}
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme mit Strato / Arcor? MrNiceGuy Plauderecke 15 28.12.2006 23:35
Caching mittels dbm-Dateien, Probleme mit dba_popen() Ben PHP-Programmierung 4 27.07.2006 13:23
Probleme mit Anhängen Ben Archiv 0 16.06.2006 16:13
Layout Probleme VipViper2000 Desktop-Applikationen und Grafik 8 13.09.2005 22:35
Probleme und Zeitdruck: Kunden-DB (Vector) mubbelbubbel82 Allgemeine Java-Programmierung 3 14.07.2005 23:43


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:38 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44