Pobranie danych z wątku potomnego(GUI)

0

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;
	}

	
}
1

a nie prościej z wątku obsługującego GUI odpalić wątek który prześle co trzeba do serwera?

0

Dzięki, zrobiłem tak jak pisałeś i uruchomiłem wątek nie runnable tylko Thread żeby się okno nie wieszało.

1 użytkowników online, w tym zalogowanych: 0, gości: 1