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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JTable scroll 
V
    Опции темы
xTr1m
Дата 11.2.2009, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



И еще раз вечер добрый. Пытаюсь сделать скроллинг в JTable. Вообще у меня следующая структура:

JFrame -> JPanel -> JTabbedPane -> (на закладке таба) JSplitPane -> (в одной области сплиттера) JPanel -> JTable

Посмотрел примеры, увидел, что делается так. JFrame -> JPanel -> JScrollPane ( JTable)

У меня вроде все то же, но только без JFame. Но работать не хочет, никакого скрола нет =(

Это сообщение отредактировал(а) xTr1m - 12.2.2009, 08:16
PM MAIL WWW ICQ   Вверх
Kangaroo
Дата 11.2.2009, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 15
Всего: 104



А где у тебя JScrollPane  ?


--------------------
Lost....
PM MAIL MSN   Вверх
xTr1m
Дата 12.2.2009, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ой, ну да =))

JFrame -> JPanel -> JTabbedPane -> (на закладке таба) JSplitPane -> (в одной области сплиттера) JPanel -> JScrollPane -> JTable

Штука в том еще, что даже таблица перестает отрисовываться? Неужели дело в том, что JPanel (на котором располагается JScrollPane) должен быть обязательно на JFrame?
PM MAIL WWW ICQ   Вверх
math64
Дата 12.2.2009, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 5
Всего: 72



Панели можно не использовать:
JFrame -> JTabbedPane -> JSplitPane -> JScrollPane -> JTable
(если JScrollPane занимает всю область сплиттера).
Нужно вручную указать положение setDividerLocation()
PM   Вверх
xTr1m
Дата 12.2.2009, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Пробовал, то есть теперь так

JFrame -> JPanel -> JTabbedPane -> (на закладке таба) JSplitPane -> (в одной области сплиттера) JScrollPane -> JTable

Создал JScrollPane, потом JScrollPane::add(моя_таблица). Таблица отображается, но скроллов нет =((


P.S. Еще интересная штука, подумал, может просто у JScrollPane большая область, поставил ей size = 100, 100. Однако она все равно отображается на всю область левого сплиттера. Нормально ли это?


Это сообщение отредактировал(а) xTr1m - 12.2.2009, 10:56
PM MAIL WWW ICQ   Вверх
PashaOvechkin
Дата 12.2.2009, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



Код


        JScrollPane tablePane = new JScrollPane( yourTable);
        tablePane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        tablePane.setCorner(JScrollPane.UPPER_RIGHT_CORNER, new Corner( ) );


PM MAIL Skype   Вверх
xTr1m
Дата 12.2.2009, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



 
Код

 table = new JTable();        

        // выравнимваем по центру строки
        DefaultTableCellRenderer r = (DefaultTableCellRenderer) table.getDefaultRenderer(String.class);
        r.setHorizontalAlignment(JLabel.LEFT);
        r.setVerticalAlignment(JLabel.TOP);
        table.setDefaultRenderer(String.class, r);
        
        table.setSize(size);
        table.setLocation(0, 0);

        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);        

        // заполняем таблицу колоками и столбцами
        CreateTableSkelet();

        // создаю скролл
        scrollPane = new JScrollPane(table);
        scrollPane.setSize(200, 200);
        scrollPane.setLocation(50, 50);
        scrollPane.setBackground(Color.gray);
        scrollPane.setLayout(null);
        scrollPane.add(table);
        add(scrollPane);


Вот на Jpanel поместил JScrollPane, на которую положил JTable. в результате таблицу видно, а скролла нет

Это сообщение отредактировал(а) xTr1m - 12.2.2009, 11:05
PM MAIL WWW ICQ   Вверх
xTr1m
Дата 12.2.2009, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вопрос решен. Всем большое спасибо.
PM MAIL WWW 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.0769 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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