Мне было интересно, почему моя кнопка отправки в этом групповом чате не выводит сообщение, которое я хочу, в текстовую область, все компилируется и ошибок нет, поэтому я в растерянности, любая помощь будет оценили. Это мой первый пост здесь, поэтому, пожалуйста, простите за любые ошибки форматирования. Я приложил свой код ниже, любая помощь приветствуется, спасибо!
package ChatGUI;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class preDisplay extends Thread{
String username;
public void run() {
JFrame preFrame = new JFrame();
JButton enterChat = new JButton("Enter Chat");
JTextField chooseUserName = new JTextField("Enter desired username");
preFrame.add(chooseUserName, BorderLayout.CENTER);
chooseUserName.setBounds(15,20,250,50);
enterChat.setBounds(80,80,120,40);
preFrame.add(enterChat);
preFrame.setSize(300,200);
preFrame.setLayout(null);
preFrame.setVisible(true);
enterChat.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
username = chooseUserName.getText();
preFrame.setVisible(false);
}
});
}
}
package ChatGUI;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class SendMessageUI extends Thread{
public void run() {
JFrame frame = new JFrame();//create new frame
JButton sendButton = new JButton("send");
JTextField textField = new JTextField();
frame.add(textField, BorderLayout.CENTER);
textField.setBounds(15,20,250,50);
DisplayMessages display = new DisplayMessages();
preDisplay pre_disp = new preDisplay();
sendButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
display.textArea.append(pre_disp.username + ": " + " " + textField.getText() + '\n');
}
});
sendButton.setBounds(100,80,80,40);//x axis, y axis, width, height
frame.add(sendButton);//adding button in JFrame
frame.setSize(300,200);//300 width and 200 height
frame.setLayout(null);//using no layout managers
frame.setVisible(true);//show frame
}
}
package ChatGUI;
public class DisplayMessages extends Thread{
JTextArea textArea = new JTextArea();
public void run(){
JFrame frame2 = new JFrame();//create new frame
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//set behavior when closed
frame2.setSize(400,300);//400 width and 300 height
frame2.setLayout(null);//using no layout managers
frame2.setLocationRelativeTo(null);
frame2.setVisible(true);//show frame
textArea.setBounds(15,20,350,220);
textArea.setEditable(false);
frame2.add(textArea);
}
}
package ChatGUI;
public class Main {
public static void main(String[] args) {
Thread t1 = new Thread(new preDisplay());
Thread t2 = new Thread(new SendMessageUI());
Thread t3 = new Thread(new DisplayMessages());
t1.start();
t2.start();
t3.start();
}
}