Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.01.2010, 20:25
Max Stone вне форума Посмотреть профиль Отправить личное сообщение для Max Stone Найти все сообщения от Max Stone
  № 1  
Ответить с цитированием
Max Stone

Регистрация: Mar 2009
Сообщений: 7
Question Проблемы с AsWing

Возникла проблема, надеюсь кто-нибудь подскажет.
И так, создаю приложение на as3 и импортирую либы aswing.
Создаю JPanel, JTabbedPane, JScrollPane, AssetPane. В AssetPane вставляю Sprite, который далее будет использоваться как контейнер для объектов (как лист в книге Excel)
Если помните как в екселе есть ярлычки для каждого листа снизу.. Делаю тоже самое.

Далее AssetPane добавляю в JScrollPane. А его в свою очередь добавляю на TabbedPane.

Появляются скролбары. Все работает.. Но далее если я меняю размеры спрайта, скролбары не обновляются. Перепробовал почти всё что нашел в интернете про swing. Но ничего не помогло.

Привожу код (метод-конструктор):

Код AS3:
var panel_top:JPanel = new JPanel();
panel_top.setLayout(new BoxLayout (BoxLayout.Y_AXIS, 10) );
 
var tabbedPane:JTabbedPane = new JTabbedPane();		
tabbedPane.setTabPlacement(JTabbedPane.BOTTOM);	
 
////создаю спрайт-контейнер, который будет изменяться в размерах			
var b:Sprite = new Sprite();
var gb:Graphics = b.graphics;
gb.beginFill(0x333333);
gb.drawRect(0,0,1800,1000);
gb.endFill();
 
////панелька, в которую будет добавлен спрайт		
var assetPane:AssetPane = new AssetPane(b);
 
/////скрол бары
var scrPane:JScrollPane = new JScrollPane();		
scrPane.setViewportView(assetPane);	
 
/////использовал даже var scrPane:JScrollPane = new JScrollPane(assetPane);
////результат тот же
 
/////тут меняю цвет и бордеры
scrPane.setBorder(null);
scrPane.setBackgroundDecorator(new SolidBackground(new ASColor(0x333333)));
tabbedPane.setBackgroundDecorator(new SolidBackground(UIManager.getColor("window")));		
 
//////добавляю скрол-бар панельку в закладку
tabbedPane.appendTab(scrPane,"Лист 1");		
 
/////добавляю все это на главную панель				
panel_top.append(tabbedPane);
panel_top.setSizeWH(1000, 700); ////размер меньше чем спрайт, чтобы скролить		
addChild(panel_top);
///выполняю как предписано 
panel_top.validate();		
 
trace("width= ",b.width);
//1800
 
/////меняю содержимое спрайта		
gb.clear();
gb.beginFill(0xFF00FF);
gb.drawRect(150,150,200,200); ///квадратик 200 на 200
gb.endFill();
 
trace("width= ",b.width);
//200
 
/////тут навсякий случай меняю размеры AssetPane (потому что заметил что его размеры не менялись)
assetPane.setSizeWH(b.width,b.height);
 
trace(assetPane.getSize());
///width = 200 height = 200
Пожалуйста, кто знаком с решением такой проблемы, подскажите. Бьюсь весь день, ничего не помогает. А без ресайза, будет не очень. Это будет самым нежелательным результатом. Заранее благодарю.


Последний раз редактировалось wvxvw; 05.01.2010 в 20:49.
Старый 16.09.2011, 17:21
DCH вне форума Посмотреть профиль Отправить личное сообщение для DCH Найти все сообщения от DCH
  № 2  
Ответить с цитированием
DCH
 
Аватар для DCH

Регистрация: Jun 2009
Адрес: Нерезиновая
Сообщений: 23
После каждого изменения размера /расположения надо юзать методы validate() менеджеров родительских компонентов


Последний раз редактировалось DCH; 16.09.2011 в 17:32.
Создать новую тему Ответ Часовой пояс GMT +4, время: 13:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
AssetPane , aswing , JScrollPane , swing

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.