Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> tab order, порядок фокусов на фрейме 
:(
    Опции темы
iluvatar
Дата 21.2.2008, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 266
Регистрация: 17.9.2007

Репутация: нет
Всего: 4



  Добрый день/вечер/ночь/утро, господа и немногочисленные ( к сожалению ) дамы.
  Вопрос очередности таба - то есть это та очередность в которой компоненты будут принимать фокус при нажатии на кнопку tab - показался мне сначала слишком простым, а потом я впал в ступор, в котором нахожусь до сих пор. Подскажите как мне вернуться в нормальное состояние, ведь только найдя ответ на вопрос сей, я смогу обрести душевное спокойствие.
  Желательно привести пример  smile. (если не сложно создайте фрейм в котором, нпример, 3 field'a, которые принимают фокус в нестандартном заранее заданном порядке).
  Оставляю Вас наедине с Вашими мыслями....
PM MAIL ICQ   Вверх
AlexeyVorotnikov
Дата 21.2.2008, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 18.6.2007
Где: Москва

Репутация: 3
Всего: 18



Почитайте How to Use the Focus Subsystem, может, поможет.


--------------------
RTFM!
Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification
PM MAIL   Вверх
w1nd
Дата 22.2.2008, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 23
Всего: 54



Выкопал из старенького проекта:

Код
import java.awt.Container;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

import javax.swing.LayoutFocusTraversalPolicy;

public class FixedOrderFocusTraversalPolicy extends LayoutFocusTraversalPolicy {

    private static class ComparatorAdapter implements Comparator {

        private Comparator comparator;
        private List<Container> components;
        
        public ComparatorAdapter(Comparator comparator, Container... components) {
            this.comparator = comparator;
            this.components = Arrays.asList(components);
        }
        
        @SuppressWarnings("unchecked")
        public int compare(Object component1st, Object component2nd) {
            int index1st = components.indexOf(component1st);
            int index2nd = components.indexOf(component2nd);
            
            if (index1st < 0 || index2nd < 0) {
                return comparator.compare(component1st, component2nd);
            }
            else {
                return index1st < index2nd ? -1 : index1st > index2nd ? +1 : 0;
            }
        }
        
    }
    
    @SuppressWarnings("unchecked")
    public FixedOrderFocusTraversalPolicy(Container... components) {
        Comparator oldComparator = getComparator();
        Comparator newComparator = new ComparatorAdapter(oldComparator, components);
        
        setComparator(newComparator);
    }
    
    private static final long serialVersionUID = 5188843501967138709L;

}


В конструктор передаются все focusable-компоненты контейнера в нужном порядке.


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0442 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.