D
dyn
Gast
Code:
import java.io.*;
import java.util.Vector;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class terms extends JFrame implements ActionListener, ItemListener
{
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(this);
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);
}
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"))
{
eingabe = text.getText();
text.setText("");
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());
}
if (v1.toString().contains (eingabe))
{
System.out.println("Dieser Begriff ist bereits vorhanden!");
}
else
{
w.println(eingabe);
System.out.println("Der Begriff "+eingabe+ " wurde zum Bereich "+textdatei+" hinzugefügt!");
}
w.close();
}
catch ( IOException e ) { System.out.println( "Fehler beim Lesen der Datei" ); }
}
public static void main (String args[])
{
new terms();
}
}