Как я могу очистить JTextField и немедленно подготовить его к вводу, не требуя щелчка или другого действия?

Резюме существующих ответов плюс мои собственные два цента:

1. Основной ответ

Вы можете использовать функцию header() для отправки нового HTTP-заголовка, но это должно быть отправлено в браузер перед любым HTML или текстом (например, до объявления , например).

header('Location: '.$newURL);

2. Важные подробности

die () или exit ()

header("Location: http://example.com/myOtherPage.php");
die();

Почему вы должны использовать die() или exit(): The Daily WTF

Абсолютный или относительный URL

С июня 2014 года могут использоваться как абсолютные, так и относительные URL-адреса. См. RFC 7231 , который заменил старый RFC 2616 , где разрешены только абсолютные URL.

Коды статуса

PHP " Местоположение «-header по-прежнему использует HTTP 302 -предельный код, но это не тот, который вы должны использовать. Вы должны рассмотреть либо 301 (постоянная переадресация), либо 303 (другое).

Примечание: W3C упоминает , что 303 -header несовместим со многими пользовательскими агентами pre-HTTP / 1.1. В настоящее время используемыми браузерами являются все пользовательские агенты HTTP / 1.1. Это неверно для многих других пользовательских агентов, таких как пауки и роботы.

3. Документация

Заголовки HTTP и функция header() в PHP

4. Альтернативы

Вы можете использовать альтернативу метод http_redirect($url);, для которого необходимо установить пакет PECL pecl .

5. Вспомогательные функции

Эта функция не включает код состояния 303 :

function Redirect($url, $permanent = false)
{
    header('Location: ' . $url, true, $permanent ? 301 : 302);

    exit();
}

Redirect('http://example.com/', false);

Это более гибко:

function redirect($url, $statusCode = 303)
{
   header('Location: ' . $url, true, $statusCode);
   die();
}

6. Обходной путь

Как уже упоминалось, header() перенаправляет работу только до того, как что-либо выписано. Они обычно терпят неудачу, если вызывается inmidst HTML . Затем вы может использовать метод обхода HTML-заголовка (не очень профессиональный!), например:

 

Или перенаправление JavaScript даже.

window.location.replace("http://example.com/");

0
задан Andrew Thompson 4 March 2019 в 10:04
поделиться

1 ответ

Для фокусировки текстового поля после метода setText(""); можно использовать следующее,

textFieldName.requestFocus();

. Для центрирования текстового поля можно использовать этот код,

textFieldName.setHorizontalAlignment(JTextField.CENTER);
0
ответ дан Tech Guy 4 March 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: