Hi,
bin noch frischer Anfänger in Java und eigentlich ist das sogar das erste Programm, das ich alleine programmiere ohne vorgegebene Übungsaufgabe oder sonstiges.
Ich will ein Programm machen, bei dem der Nutzer einen Text eingeben kann und daneben auf einen Knopf drücken, wodurch die einzelnen Wörter des Textes gezählt und ausgegeben werden. Alles klappt auch, außer der ActionListener und ich finde/verstehe den Fehler nicht. Hier mein kleines Programm:
Freue mich über Hilfe:rtfm:
bin noch frischer Anfänger in Java und eigentlich ist das sogar das erste Programm, das ich alleine programmiere ohne vorgegebene Übungsaufgabe oder sonstiges.
Ich will ein Programm machen, bei dem der Nutzer einen Text eingeben kann und daneben auf einen Knopf drücken, wodurch die einzelnen Wörter des Textes gezählt und ausgegeben werden. Alles klappt auch, außer der ActionListener und ich finde/verstehe den Fehler nicht. Hier mein kleines Programm:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
class Wortzaehler extends JFrame {
JTextField textfeld; //Felder
String textauswahl;
int anzahl;
StringTokenizer st;
JLabel ausgabe0;
String anzahlstr;
class Listener implements ActionListener { //ActionListener
public void actionPerformed(ActionEvent e) {
textauswahl = getText(textfeld);
st = new StringTokenizer (textauswahl);
anzahl = countTokens(st);
anzahlstr = String.parseString(anzahl);
ausgabe0.setText(anzahlstr);
}
}
Wortzaehler (String titel) { //Konstruktor
super(titel);
JButton knopf1 = new JButton ("Count Words!");
textfeld = new JTextField ("Insert Text here.", 100);
JLabel ausgabe = new JLabel ("Number of Words: ");
ausgabe0 = new JLabel ();
JPanel panel = new JPanel ();
JPanel panel1 = new JPanel ();
panel.add(textfeld);
panel.add(knopf1);
panel1.add(ausgabe);
panel1.add(ausgabe0);
panel1.setLayout (new FlowLayout());
panel.setLayout(new FlowLayout());
setLayout (new GridLayout(2,1));
add(textfeld);
add(knopf1);
add(ausgabe);
add(ausgabe0);
knopf1.addActionListener( new Listener());
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main (String [] args) { //main
Wortzaehler fenster = new Wortzaehler ("Word Counter");
fenster.pack();
fenster.setSize(600,300);
fenster.setVisible(true);
}
}
Freue mich über Hilfe:rtfm: