, пока ваш
new socket(ss.accept());
немедленно возвращается, вам нужно только изменить свой
while (true)
, что помещает EDT (Event Dispatch Thread) в бесконечный цикл и ваш графический интерфейс становится безответственным. Итак, удалите эту строку.
Если вы не можете использовать класс SwingWorker ( http://docs.oracle.com/javase/7/docs/api/javax/swing/SwingWorker .html # process (java.util.List ) Создайте вложенный класс, который расширяет SwingWorker. Просто вызовите swingWoker.execute (); (после того, как вы создали его объект) в своем listenButtonActionPerformed (java.awt.event.ActionEvent evt) .
См. учебник: http://docs.oracle.com/javase/tutorial/uiswing/concurrency /worker.html
Никогда не создавайте новый поток и не запускайте его из Swing EDT
Вы перепутали содержание numberOfRowsInSection
и numberOfSections
. Последний должен вернуть 1