Я только начинаю с сетей Java, и я пытаюсь подключить компьютер моего друга к моему и начать общаться с моим собственным интерфейсом.Проблема с интерфейсом Java
У меня проблема, возможно, мне не хватает чего-то действительно глупого. Во всяком случае, я был бы признателен, если бы кто-то дал мне руку помощи. Проблема заключается в том, что мой интерфейс вообще не отображается при вызове 'ServerSide s = new ServerSide (клиент);' Я просто не знаю, почему.
package prueba;
import java.net.*;
import java.io.*;
public class ServerSide implements Runnable
{
Thread t;
Socket client;
MCRPDI e1;
public ServerSide(Socket client)
{
this.client=client;
e1 = new MCRPDI();
e1.Interfaz.setBounds(100, 100, 800, 400);
e1.Interfaz.setVisible(true);
t=new Thread(this);
t.start();
}
public void run()
{
try
{
BufferedReader br=new BufferedReader(new InputStreamReader(client.getInputStream()));
while(true)
{
String st1=br.readLine();
System.out.println("client: "+st1);
}
}
catch(IOException e)
{
System.out.println(e);
}
}
}
class serverchat
{
public static void main(String args[]) throws IOException
{
ServerSocket server=new ServerSocket(8080);
System.out.println("waiting for request from peer.....");
Socket client=server.accept();
ServerSide s=new ServerSide(client);
System.out.println("request accepted");
BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));
PrintStream ps2=new PrintStream(client.getOutputStream());
while(true)
{
String st=br2.readLine();
ps2.println(st);
}
}
}
И это мой интерфейс (ну просто конструктор и полей, это все, что нужно, я думаю):
public class MCRPDI implements ActionListener {
private JLabel Error1Label, Error2Label, IPLabel,
EntradaMensajeSinCifrarLabel, DistincionLabel,
ClaveEncriptacionLabel, ClaveDesencriptacionLabel;
private JButton ConectarBtn, DesconectarBtn, EnviarBtn, DesencriptarBtn;
private JTextField TFIP, TFEntradaTextoAEncriptar,
TFEntradaTextoDesencriptar, TFEntradaClaveEncriptar,
TFEntradaClaveDesencriptar;
private Color blanco = new Color(245, 245, 245);
public JFrame Interfaz = new JFrame();
public MCRPDI() {
Interfaz.setLayout(null);
IPLabel = new JLabel("IP");
IPLabel.setBounds(95, 10, 200, 65);
Interfaz.add(IPLabel);
Error1Label = new JLabel("");
Error1Label.setBounds(560, 100, 200, 65);
Interfaz.add(Error1Label);
Error2Label = new JLabel("");
Error2Label.setBounds(510, 315, 200, 65);
Interfaz.add(Error2Label);
EntradaMensajeSinCifrarLabel = new JLabel("Mensaje");
EntradaMensajeSinCifrarLabel.setBounds(50, 140, 200, 65);
Interfaz.add(EntradaMensajeSinCifrarLabel);
ClaveEncriptacionLabel = new JLabel("Clave");
ClaveEncriptacionLabel.setBounds(360, 140, 200, 65);
Interfaz.add(ClaveEncriptacionLabel);
DistincionLabel = new JLabel(
"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////");
DistincionLabel.setBounds(60, 180, 800, 65);
Interfaz.add(DistincionLabel);
ClaveDesencriptacionLabel = new JLabel("Clave para Desencriptacion");
ClaveDesencriptacionLabel.setBounds(515, 205, 200, 65);
Interfaz.add(ClaveDesencriptacionLabel);
// /////////////////////////////////////////////////////
ConectarBtn = new JButton("Conectar");
ConectarBtn.setBounds(100, 80, 100, 30);
Interfaz.add(ConectarBtn);
ConectarBtn.addActionListener(this);
ConectarBtn.setBackground(blanco);
DesconectarBtn = new JButton("Desconectar");
DesconectarBtn.setBounds(200, 80, 110, 30);
Interfaz.add(DesconectarBtn);
DesconectarBtn.addActionListener(this);
DesconectarBtn.setBackground(blanco);
EnviarBtn = new JButton("Enviar");
EnviarBtn.setBounds(600, 155, 80, 30);
Interfaz.add(EnviarBtn);
EnviarBtn.addActionListener(this);
EnviarBtn.setBackground(blanco);
DesencriptarBtn = new JButton("Desencriptar");
DesencriptarBtn.setBounds(540, 295, 110, 40);
Interfaz.add(DesencriptarBtn);
DesencriptarBtn.addActionListener(this);
DesencriptarBtn.setBackground(blanco);
// //////////////////////////////////////////////////////
TFIP = new JTextField("");
TFIP.setBounds(130, 25, 150, 30);
TFIP.addActionListener(this);
Interfaz.add(TFIP);
TFEntradaTextoAEncriptar = new JTextField("");
TFEntradaTextoAEncriptar.setBounds(130, 155, 150, 30);
TFEntradaTextoAEncriptar.addActionListener(this);
Interfaz.add(TFEntradaTextoAEncriptar);
TFEntradaClaveDesencriptar = new JTextField("");
TFEntradaClaveDesencriptar.setBounds(520, 250, 150, 30);
TFEntradaClaveDesencriptar.addActionListener(this);
Interfaz.add(TFEntradaClaveDesencriptar);
TFEntradaClaveEncriptar = new JTextField("");
TFEntradaClaveEncriptar.setBounds(420, 155, 150, 30);
TFEntradaClaveEncriptar.addActionListener(this);
Interfaz.add(TFEntradaClaveEncriptar);
TFEntradaTextoDesencriptar = new JTextField("");
TFEntradaTextoDesencriptar.setBounds(130, 235, 350, 100);
TFEntradaTextoDesencriptar.addActionListener(this);
Interfaz.add(TFEntradaTextoDesencriptar);
}
Заранее спасибо!