Witam, mam taki problem przy tworzeniu aplikacji okienkowej że muszę przekazać dane z wątku potomnego w którym znajduje się GUI do wątku rodzica który prześle go do serwera tylko nie wiem jak to należy zrobić i chętnie usłyszałbym opinie na temat jak buduje GUI a jak powinno się to robić.
Kod klienta:
import java.awt.EventQueue;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;
public class Client {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new ClientFrame();
}
});
try{
Socket socket = new Socket(InetAddress.getByName("127.0.0.1"), 12345);
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
Scanner s = new Scanner(System.in);
String str;
while(s.hasNext()){
str = s.nextLine();
out.println(str);
out.flush();
if(str.equals("exit")) break;
}
s.close();
socket.close();
}catch(Exception e){
}
}
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class ClientFrame extends JFrame implements ActionListener {
private String login=null;
private JButton zalogujB;
private JButton rejestracjaB;
private JTextField loginTF;
private JPasswordField hasloPF;
public ClientFrame() {
super( "SPAW - Client" );
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(640, 480);
setLocation(50,50);
setLayout(new GridLayout(4, 1));
add(loginTF = new JTextField());
add(hasloPF = new JPasswordField());
add(zalogujB = new JButton("Zaloguj"));
add(rejestracjaB = new JButton("Rejestracja"));
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if(source == zalogujB)
login=loginTF.getText();
}
public String getLogin() {
return login;
}
}