Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
GreenMan1899
1 / 1 / 0
Регистрация: 21.03.2014
Сообщений: 38
1

Как подключать клиентов, до тех пор пока не нажата определенная кнопка?

01.07.2014, 14:51. Просмотров 510. Ответов 1
Метки нет (Все метки)

С помощью keyEvent.

Допустим есть цикл вечный подключения клиентов
Java
1
2
3
4
5
6
7
while(true) {
            
            clientSockets[j] = serverSocket.accept();
            System.out.println("Клиент " + (j + 1) + " подключился!\n");
            System.out.println(clientSockets[j]);
            j++;
        }
и класс MyKey
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class MyKey implements KeyListener{
    
    @Override
    public void keyTyped(KeyEvent e) {
        
    }
 
    @Override
    public void keyPressed(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.VK_EQUALS) //если нажата клавиша "=", то прерывать цикл
        {  
            //прервать цикл
        }
        
    }
 
    @Override
    public void keyReleased(KeyEvent e) {
        
    }
    
}
Так вот, как правильно должно быть? Засунуть цикл в keyPressed или класс MyKey описать отдельно? Тогда как прервать цикл отдельно от класса, в котором расположен цикл подключения клиентов? Я так понял, что нужен будет break.

Вся программа (упрощенная):
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class ServerThread implements Runnable {
public ServerThread(){}
...
...
...
public void run() {}
}
 
public class MainServer {
 
 public MainServer()  {
        clientSockets = new Socket[j];    
    }
 ...
 public void runApp() throws IOException {
 ...
 while(true) {
            
            clientSockets[j] = serverSocket.accept();
            System.out.println("Клиент " + (j + 1) + " подключился!\n");
            System.out.println(clientSockets[j]);
            j++;
        }
 public static void main(String[] args) throws IOException {
        Server server = new Server();
        server.connection();
        server.runApp();
    }
}
Ну и пока отдельно
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class MyKey implements KeyListener{
    
    @Override
    public void keyTyped(KeyEvent e) {
        
    }
 
    @Override
    public void keyPressed(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.VK_EQUALS)
        {  
            
        }
        
    }
 
    @Override
    public void keyReleased(KeyEvent e) {
        
    }
    
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 14:51
Ответы с готовыми решениями:

Выполнение цикла до тех пор, пока не будет нажата определенная клавиша
Доброе время суток, люди добрые! Начал заниматься С++ не так давно, поэтому всех хтростей не знаю,...

Подправить код. Подключать клиентов до тех пор, пока не выполнится какое-либо условие
Доброго времени суток.Есть клиент-сервер, который принимает только четырех клиентов. Как изменить...

Реализовать выполнение метода в фоне до тех пор пока не нажата кнопка стоп
Здравствуйте) Подскажите пожалуйста какой класс использовать для создания потока или может есть...

Вводить с клавиатуры числа до тех пор, пока не будет нажата клавиша <<ESC>>
Задание: Вводить с клавиатуры числа до тех пор, пока не будет нажата клавиша &lt;&lt;ESC&gt;&gt;. На экран...

Создать консольное приложение, которое продолжало бы работать до тех пор, пока не нажата клавиша "y"
Доброго времени суток. Прошу помочь в решении поставленного передо мной вопроса. Суть: Нужно...

1
MLPMan
Кандёхаем веселее!
294 / 306 / 76
Регистрация: 02.10.2012
Сообщений: 2,123
06.07.2014, 13:20 2
Дык вместо while(true) - while(enabled). Boolean enabled - поле класса, в котором этот цикл. В начале true, при нажатии кнопки устанавливаем false.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2014, 13:20

Вводить значения пока не будет нажата определенная буква
Задача: Заполнять базу до тех пор пока пользователь не нажмет определению кнопку и чтобы его...

Проверить, была ли нажата определенная кнопка в програме
как задать условие, если button17 была нажата, то происходит выполнение функции, а если же не была...

Проверка условия, что нажата определенная кнопка
Здравствуйте. Пишу программу, хочу указать условие - если нажали на конкретную кнопку, то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru