Запуск потока для сокетного соединения и рисование информации о нем в Frames - PullRequest
0 голосов
/ 20 ноября 2011

Я пытаюсь записать java-программу.

Моя идея: Основной класс запускает поток для соединения через сокет, также основной класс запускает Frame с графическим интерфейсом.Frame запускает другие кадры по запросу пользователя.

Я хочу показать информацию о сокетном соединении (из потока сокетного соединения) в строке состояния всех фреймов.Но я не могу получить доступ к потоку сокет соединения из фреймов.Как мне решить эту проблему?Как запустить поток подключения к сокету, чтобы иметь доступ к нему из любого фрейма?

Ответы [ 2 ]

1 голос
/ 20 ноября 2011

Вам нужно, чтобы один из объектов имел ссылку на другой.Я хотел бы указать, что фрейм имеет ссылку на поток (поскольку поток может иногда блокироваться вводом / выводом).

Просто заставьте конструктор фрейма принять объект потока и передать тот, который вы создали(или добавьте к нему метод set).

РЕДАКТИРОВАТЬ:

В ответ на замечания в комментариях.

Это для других классов (фреймов), которые вы создаетечто вам нужно передать ссылку.

public class DialogSubsystemLayoutFrame extends JFrame {
  // You store the reference here.
  private SocketConnectionThread socketConnection = null;

  public DialogSubsystemLayoutFrame(SocketConnectionThread socket) {
    this.socketConnection = socket;
  }
}

Оттуда вы можете использовать this.socketConnection в любом месте класса для работы с ним.

0 голосов
/ 20 ноября 2011

Создайте свой собственный класс, расширяющий Frame, и инициируйте поток Socket в этом классе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...