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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Компоненты в JTabbedPane, Установить текст в JTextArea 
V
    Опции темы
agR
Дата 26.4.2007, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Опять не перестаю удивлять своими вопросами (и сам удивляться) smile
Есть такая проблемка.... в одном классе я создаю JTextArea:
Код

        matBalanceArea = new JTextArea(30,50);
        matBalanceArea.setLineWrap(true);
        matBalanceArea.setWrapStyleWord(true);
        matBalanceArea.setEditable(false);
        matBalanceArea.setFont(new Font(null,0,14));
        scrollPane = new JScrollPane();
        scrollPane.setViewportView(matBalanceArea);
        scrollPane.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Результат розрахунків"));

надеюсь украинский язык никого не смутил smile (Диплом все таки, поэтому делаю на гос. языке).
Ну ладно, вернемся обратно в "джунгли"....
Сама панелька mainMatBalance добавляется в другую панель:
Код

main.add(mainMatBalance,0);
        main.add(strutPanel,1);
        main.add(scrollPane,2);

А эта панель уже добавляется в JTabbedPane:
Код

mainTab = new JTabbedPane(JTabbedPane.TOP);
                
        mainTab.addTab("Матеріальний баланс", null,createMatBalanceGUI());
        mainTab.addTab("Тепловий розрахунок здувочного конденсатора", null, createTeplRozrGUI());
        mainTab.addTab("Математична модель", null, createMatModelGUI());

Теперь в другом классе у меня будут производиться расчеты и мне необходимо будет результаты этих расчетов показать в JTextArea...... вот на этом и завис.
Пытался так:
Код

public class Calculating {
    public void calcMatBalance() {
        JTabbedPane mainTab = crTab.getTab(); //getTab() - метод, возвращающий JTabbedPane другого класса
        panel =((JPanel)mainTab.getComponentAt(mainTab.getSelectedIndex()));
        scroll = ((JScrollPane)panel.getComponent(2));
        area = ((JTextArea)scroll.getViewport().getView());
        area.append("asd"); //допустим хочу добавить текст
        area.revalidate();
    }
        
        
    private CreatingTab crTab = new CreatingTab();
    private JPanel panel;
    private JScrollPane scroll;
    private JTextArea area;
    }


Короче говоря, от этой штуки толку, как с козла молока  smile 
Помогите, плз.
П.С. Пойду читать основы Java smile


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


Новичок



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

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



Как я тебя понимаю самому надо подобное писать, но сам пока в этом плаваю
PM MAIL   Вверх
goodday1941
  Дата 27.4.2007, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(agR @  26.4.2007,  23:52 Найти цитируемый пост)
Код

public class Calculating {    
public void calcMatBalance() {      
  JTabbedPane mainTab = crTab.getTab(); 
//getTab() - метод, возвращающий JTabbedPane другого класса      
  panel =((JPanel)mainTab.getComponentAt(mainTab.getSelectedIndex()));    
    scroll = ((JScrollPane)panel.getComponent(2));        
area = ((JTextArea)scroll.getViewport().getView());   
     area.append("asd"); //допустим хочу добавить текст        area.revalidate();  
  }               
     private CreatingTab crTab = new CreatingTab();    
private JPanel panel;  
  private JScrollPane scroll; 
   private JTextArea area;    }

это не есть правильно

Правильно:

Передай на вход класса этот JTextArea да и все...

По пунктам:

У тебя есть:

Код

JTextArea a;


И у тебя есть класс с расчетами, к примеру такой:

Код

public class Test {
private JTextArea tmp;
public Test(JTextArea tmp){
this.tmp = tmp;}
setTextA(String g){
tmp.setText(g)
}
}



теперь класе где находиться твой JTextArea a создаем обьект класса Test:

Код

Test b = new Test(a);
b.setTextA("asfasf");


что изменет текст в JTextArea

PS.. зачем делать сложно простые вещи...

Это сообщение отредактировал(а) goodday1941 - 27.4.2007, 21:28


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
agR
Дата 27.4.2007, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



После нескольких шаманских действий String пошел в JTextArea как ребенок в школу smile
Псб  smile 

Цитата(goodday1941 @  27.4.2007,  19:48 Найти цитируемый пост)
PS.. зачем делать сложно простые вещи...

Опыта нет, вот на грабли и наступаю  smile  smile 
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.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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