Socket com tela feita pelo netbens

To com esse codigo e está funcionando beleza.
Mas o problema é que quando uso a tela -servidor- criada pelo netbens. A tela não é carregada.
Por exemplo: faço o frmae com Jtextfield, compila tudo certinho mas nao carrega a tela servidor.
alguem tem alguma ideia do que poço faze?
agrade

Cliente

[code]import java.io.;
import java.net.
;
import java.awt.;
import java.awt.event.
;
import javax.swing.*;

public class Client extends JFrame {
// Text field for receiving radius
private JTextField jtf = new JTextField();

// Text area to display contents
private JTextArea jta = new JTextArea();

// IO streams
private DataOutputStream toServer;
private DataInputStream fromServer;

public static void main(String[] args) {
  new Client();
}

public Client() {
  // Panel p to hold the label and text field
  JPanel p = new JPanel();
  p.setLayout(new BorderLayout());
  p.add(new JLabel("Enter radius"), BorderLayout.WEST);
  p.add(jtf, BorderLayout.CENTER);
  jtf.setHorizontalAlignment(JTextField.RIGHT);

  setLayout(new BorderLayout());
  add(p, BorderLayout.NORTH);
  add(new JScrollPane(jta), BorderLayout.CENTER);

  jtf.addActionListener(new ButtonListener()); // Register listener

 setTitle("Client");
setSize(500, 300);
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 setVisible(true); // It is necessary to show the frame here!

 try {
   // Create a socket to connect to the server
   Socket socket = new Socket("localhost", 8000);
   // Socket socket = new Socket("130.254.204.36", 8000);
   // Socket socket = new Socket("drake.Armstrong.edu", 8000);

   // Create an input stream to receive data from the server
   fromServer = new DataInputStream(
     socket.getInputStream());

   // Create an output stream to send data to the server
   toServer =
     new DataOutputStream(socket.getOutputStream());
 }
 catch (IOException ex) {
   jta.append(ex.toString() + '\n');
 }

}

private class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
try {
// Get the radius from the text field
double radius = Double.parseDouble(jtf.getText().trim());

     // Send the radius to the server
    toServer.writeDouble(radius);
     toServer.flush();

     // Get area from the server
     double area =  fromServer.readDouble();

     // Display to the text area
     jta.append("Radius is " + radius + "\n");
     jta.append("Area received from the server is "
       + area + '\n');
   }
   catch (IOException ex) {
     System.err.println(ex);
   }
 }

}
}[/code]

coloco a parte a patir da linha ( // Create a server socket) no contrutor mas não abre a tela.

servidor

[code]package socket6;

import java.io.;
import java.net.
;
import java.util.;
import java.awt.
;
import javax.swing.*;

public class Server extends JFrame {
// Text area for displaying contents
private JTextArea jta = new JTextArea();

public static void main(String[] args) {
new Server();
}

public Server() {
  // Place text area on the frame
  setLayout(new BorderLayout());
  add(new JScrollPane(jta), BorderLayout.CENTER);
  setTitle("Server");
 setSize(500, 300);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setVisible(true); // It is necessary to show the frame here!

  try {
    // Create a server socket
    ServerSocket serverSocket = new ServerSocket(8000);
    jta.append("Server started at " + new Date() + '\n');

    // Listen for a connection request
    Socket socket = serverSocket.accept();

    // Create data input and output streams
    DataInputStream inputFromClient = new DataInputStream(
      socket.getInputStream());
    DataOutputStream outputToClient = new DataOutputStream(
      socket.getOutputStream());

    while (true) {
      // Receive radius from the client
      double radius = inputFromClient.readDouble();

      // Compute area
      double area = radius * radius * Math.PI;

      // Send area back to the client
      outputToClient.writeDouble(area);

      jta.append("Radius received from client: " + radius + '\n');
      jta.append("Area found: " + area + '\n');
    }
  }
  catch(IOException ex) {
    System.err.println(ex);
  }
}

}[/code]

Com aquele while ali, seu código nunca irá sair do construtor.

Mova o while para outra thread.

E não jogue pedra no poço.

Só incrementando um pouco o que o Vini falou. Vc precisa de algo assim(usando SwingWorke):

class CodigoComWhile extends SwingWorker<Void, Void> {
@Override
public String doInBackground() {
While(true){

       }

   return;
   }

   @Override
   protected void done() {
      //faz alguma coisa ao fim do while...    
   }

}

(new CodigoComWhile()).execute();