Hallo!
Ich habe hier ein kleines "Chat Programm" geschrieben. es beinhaltet zwei Chatfenster, mit Anzeige des Verlaufs(Textarea), einer Eingabe(Texfield) einem Senden-Button und einem Label, das anzeigen soll, wieviele Wörter beide Chatpartner gemeinsam haben im gesamten Chat verlauf.
Es funktioniert alles, wenn ich folgende Zeile im Actionlistener weg lasse:
Die Code Zeile benötige ich aber, um zu prüfen, ob das gerade eingegebene Wort bereits im chatverlauf vorhanden ist, um es so mitzählen zu können.
Wenn ich die CodeZeile einbaue, reagiert der Button nicht.
Wenn ich die Zeile bei der Listener Klasse für Chat Fenster #2 weglasse, dann kann ich im Chat Fenster#1 erst eine NAchricht verschicken, nachdem ich schon eine über Chat Fenster 2 Verschickt habe.
Woran könnte das liegen? (Die beiden Klassen sind ganz unten im Code. Die Betroffenen Codezeilen auskommentiert).
Ich habe hier ein kleines "Chat Programm" geschrieben. es beinhaltet zwei Chatfenster, mit Anzeige des Verlaufs(Textarea), einer Eingabe(Texfield) einem Senden-Button und einem Label, das anzeigen soll, wieviele Wörter beide Chatpartner gemeinsam haben im gesamten Chat verlauf.
Es funktioniert alles, wenn ich folgende Zeile im Actionlistener weg lasse:
Code:
indexOfTxt = chat_2_txt.lastIndexOf(tag);
Wenn ich die CodeZeile einbaue, reagiert der Button nicht.
Wenn ich die Zeile bei der Listener Klasse für Chat Fenster #2 weglasse, dann kann ich im Chat Fenster#1 erst eine NAchricht verschicken, nachdem ich schon eine über Chat Fenster 2 Verschickt habe.
Woran könnte das liegen? (Die beiden Klassen sind ganz unten im Code. Die Betroffenen Codezeilen auskommentiert).
Code:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Chat_Fenster extends JFrame {
JTextArea chat1;
JTextField input1;
JButton send1;
JLabel info1;
JTextArea chat2;
JTextField input2;
JButton send2;
JLabel info2;
int indexOfTxt;
int numberCommonTags;
String chat_1_txt;
String chat_2_txt;
public static void main(String[]args) {
Chat_Fenster f = new Chat_Fenster();
f.Chat();
}
public void Chat() {
JFrame chat_window1 = new JFrame("Chat#1");
JPanel panel1 = new JPanel();
JPanel panel11 = new JPanel();
panel11.setLayout(new BorderLayout());
this.chat1 = new JTextArea(15,20);
chat1.setLineWrap(true);
chat1.setEditable(false);
this.input1 = new JTextField(25);
this.send1 = new JButton("senden");
send1.addActionListener(new SendButton1Listener() );
this.info1 = new JLabel (numberCommonTags+" gemeinsame Tags!");
panel11.add(chat1, BorderLayout.CENTER);
panel11.add(info1, BorderLayout.SOUTH);
panel1.add(input1);
panel1.add(send1);
chat_window1.getContentPane().add(BorderLayout.CENTER, panel11);
chat_window1.getContentPane().add(BorderLayout.SOUTH, panel1);
chat_window1.setSize(400,400);
chat_window1.setVisible(true);
JFrame chat_window2 = new JFrame("Chat#2");
JPanel panel2 = new JPanel();
JPanel panel22 = new JPanel();
panel22.setLayout(new BorderLayout());
this.chat2 = new JTextArea(15,20);
chat2.setLineWrap(true);
chat2.setEditable(false);
this.input2 = new JTextField(25);
this.send2 = new JButton("senden");
send2.addActionListener(new SendButton2Listener() );
this.info2 = new JLabel(numberCommonTags+" gemeinsame Tags!");
panel22.add(chat2, BorderLayout.CENTER);
panel22.add(info2, BorderLayout.SOUTH);
panel2.add(input2);
panel2.add(send2);
chat_window2.getContentPane().add(BorderLayout.CENTER, panel22);
chat_window2.getContentPane().add(BorderLayout.SOUTH, panel2);
chat_window2.setSize(400,400);
chat_window2.setVisible(true);
}
public class SendButton1Listener implements ActionListener {
public void actionPerformed(ActionEvent arg0) {
String tag = input1.getText();
//indexOfTxt = chat_2_txt.lastIndexOf(tag);
if(indexOfTxt!=-1) {
numberCommonTags++;
}
info1.setText(numberCommonTags+" gemeinsame Tags!"+chat_1_txt);
info2.setText(numberCommonTags+" gemeinsame Tags!"+chat_2_txt);
chat1.setText(chat1.getText()+"#1 "+input1.getText()+"\n");
chat2.setText(chat2.getText()+"#1 "+input1.getText()+"\n");
chat_1_txt = chat_1_txt + input1.getText();
input1.setText("");
}
}
public class SendButton2Listener implements ActionListener {
public void actionPerformed(ActionEvent arg0) {
String tag = input2.getText();
//indexOfTxt = chat_1_txt.lastIndexOf(tag);
if(indexOfTxt!=-1) {
numberCommonTags++;
}
info1.setText(numberCommonTags+" gemeinsame Tags!"+chat_1_txt);
info2.setText(numberCommonTags+" gemeinsame Tags!"+chat_2_txt);
chat2.setText(chat2.getText()+"#2 "+input2.getText()+"\n");
chat1.setText(chat1.getText()+"#2 "+input2.getText()+"\n");
chat_2_txt = chat_2_txt + input2.getText();
input2.setText("");
}
}
}