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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Полоса прокрутки для JTextArea 
:(
    Опции темы
vav84
Дата 16.8.2011, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день!

Прошу извинить меня если вопрос покажется излишне простым ибо учу Java я только третью неделю и сейчас пишу свое первое тренировочное оконное приложение.
Суть вопроса такова:  после добавления полосы прокрутки JScroolPane в текстовую область JTextArea при ее полном заполнении бегунок прокрутки сбоку не отображается а всесто этого область начинает растягиватся вниз. Код вот такой:

Код

class ScrollTestPanel extends JPanel{
    public ScrollTestPanel(){
        textArea1=new JTextArea(5,5);
        textArea2=new JTextArea(5,5);
        textArea1.setLineWrap(true);
        textArea2.setLineWrap(true);
        scrollPane=new JScrollPane(textArea1);
        add(textArea1);
        add(scrollPane);
        add(textArea2);

        
    }
    private JTextArea textArea1;
    private JTextArea textArea2;
    private JScrollPane scrollPane;
}


В этом случае полоса прокрутки отображается как одиночный пиксель между двумя областями ввода, если добавить после textArea2 то он отобразится от нее справа, то есть получается добавляеться она на панель как отдельный элемент к textArea1 никакого отношения не имеющий((( За день перепробовал все доступные мне варианты- безуспешно, так что теперь остается лишь уповать на вселенский разум  smile 

PM MAIL   Вверх
AlexeyVorotnikov
Дата 17.8.2011, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Надо
Код

scrollPane.setViewportView(textArea);

и не надо делать
Код

add(textArea);



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


Новичок



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

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



Спасибо за ответ но что -то он мне не помогает. Вот полный код программы после модификации:


Код

package jscrolltest;
import javax.swing.*;


public class JScrollTest {

    public static void main(String[] args) {
        // TODO code application logic here
        ScrollTestFrame frame=new ScrollTestFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

class ScrollTestFrame extends JFrame{
        public ScrollTestFrame(){
        setTitle("ScrollTest");
        panel=new ScrollTestPanel();
        add(panel);
        pack();
        
        }
        private JPanel panel;
}

class ScrollTestPanel extends JPanel{
    public ScrollTestPanel(){
        textArea1=new JTextArea(5,5);
        textArea2=new JTextArea(5,5);
        textArea1.setLineWrap(true);
        textArea2.setLineWrap(true);
        scrollPane=new JScrollPane(textArea1);
        scrollPane.setViewportView(textArea1);
       // add(textArea1);
       // add(scrollPane);
       // add(textArea2);
        
    }
    private JTextArea textArea1;
    private JTextArea textArea2;
    private JScrollPane scrollPane;
}

В таком виде отображается пустая панель, если раскомментировать три поля add то панель принимает вид описаный выше, то есть добавление рекомендованой строки ни к чему ни приводит. Может у кого-то еще есть идеи  smile 

PM MAIL   Вверх
pathfinder
Дата 17.8.2011, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: 7
Всего: 10



Код

class ScrollTestPanel extends JPanel{
    public ScrollTestPanel(){
        textArea1=new JTextArea(5,5);
//        textArea2=new JTextArea(5,5);
        textArea1.setLineWrap(true);
//        textArea2.setLineWrap(true);
        scrollPane=new JScrollPane(textArea1);
//        scrollPane.setViewportView(textArea1);
       // add(textArea1);
       add(scrollPane);
       // add(textArea2);
        
    }
    private JTextArea textArea1;
    private JTextArea textArea2;
    private JScrollPane scrollPane;
}

PM MAIL   Вверх
Skipy
Дата 18.8.2011, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(vav84 @ 17.8.2011,  10:52)
если раскомментировать три поля add 

Два add. 

JScrollPane является контейнером для JTextArea. Так что добавлять надо только экземпляр JScrollPane. setViewportView вызывать не надо - при передаче компоненты через конструктор это делается автоматом.


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
vav84
Дата 20.8.2011, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Большое спасибо pathfinder за помощь на практике, и Skipy за теорию.   smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0720 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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