0
로컬 클라이언트가 정보를 서버로 보내고 서버에 이름, 전자 메일 및 전화 번호와 같은 GUI 필드가있는 응용 프로그램을 개발 중입니다. 코드는 텍스트가 텍스트가 업데이트되었지만 나타나지 않습니다. GUI. 다음은 코드JTextfield가 GUI에서 동적으로 업데이트되지 않습니다
public class evensoft extends javax.swing.JFrame {
private static final int port=8008;
private static ServerSocket serversocket;
private static Socket clientsocket;
private static InputStreamReader reader;
private static BufferedReader breader;
private static InputStreamReader InputStreamReader;
private static String message;
String msg;
public evensoft()
{
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
public static void main(String args[])
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run() {
new evensoft().setVisible(true);
}
});
evensoft n1=new evensoft();
try
{
serversocket=new ServerSocket(port,0,InetAddress.getLocalHost());
label.setText("Server IP: "+serversocket.getInetAddress()+ " port " +serversocket.getLocalPort());
}
catch(IOException e)
{
e.printStackTrace();
}
while(true)
{
try
{
clientsocket=serversocket.accept();
reader=new InputStreamReader(clientsocket.getInputStream());
breader=new BufferedReader(reader);
message=breader.readLine();
char a[]=message.toCharArray();
n1.formatmessage(a);
}
catch(IOException e1)
{
e1.printStackTrace();
}
}
}
public void formatmessage(char[] a)
{
char[] Fname=new char[10];
char[] lname=new char[50];
char[] email=new char[50];
char[] phone=new char[15];
//Formatting meg string
String n1=new String(Fname);
String n2=new String(lname);
String n3=new String(email);
String n6=new String(phone);
System.out.println(n1);
System.out.println(n2);
System.out.println(n3);
System.out.println(n5);
System.out.println(n6);
Name.setText(n1.trim()+" "+n2.trim());
Email.setText(n3.trim());
Contact.setText(n6.trim());
System.out.println(Name.getText());
System.out.println(Email.getText());
System.out.println(Contact.getText());
}
public javax.swing.JTextField Contact;
public javax.swing.JTextField Email;
public javax.swing.JTextField Name;
}
여기서 initComponents 메소드는 무엇입니까? 또한 Java에서 규칙은 첫 번째 문자가 대문자 인 클래스 이름을 사용하는 것입니다. ClassName – Nick
이 코드는 컴파일되지 않습니다. initcomponents()가 범위에서 선언되지 않았습니다. 소켓에서 읽은 것을 제거하십시오. 아무도 그렇게 쉽게 복제 할 수 없습니다. 정적 값을 사용하고 작동하는지 확인하십시오. 예제를 단순화하십시오. – codethulhu
코드가 준수되고 클라이언트에서 데이터를 수신하고 settext를 통해 텍스트 필드를 업데이트하지만 GUI에 표시되지 않습니다. – MandarCT