|
|
MaxCm |
Глюки при отображении таблицы в JavaFX 10.06.2011, 12:26 |
|
13/05/11 4
|
Создаю таблицу, как матрицу SwingTextField. При откритии приложения ее нет. Если свернуть и развернуть, то все появляется. Но вводимий текст не отображается при вводе, снова нужно свернуть развернуть окно. Подкажите проблему пожалуйста. Код класа public var tab_man:TabManager; public var head:String[]; public var rows:Integer; public var cols:Integer; public var edit=false; public var access:Integer; public var is_editing:Boolean=false; override var hover=false;
public var y=2; public var x=2; public var cell_spacing = 5; //spaces beetwin cells public var cnt_man:ContentManager; public var width=700; public var height=200; override var focusTraversable = false;
public var scrollBar:ScrollBar; public var row_lst:HBox[]; public var listView:VBox;
override var onKeyPressed = function(e) { if(e.code == KeyCode.VK_UP) { scrollBar.adjustValue(-1); } else if(e.code == KeyCode.VK_DOWN) { scrollBar.adjustValue(1); } } //здесь были гетеры и сетеры //таблица - ето масив HBox-ов override public function create():Node { tab_man=cnt_man.app.db.getManager();//ето не важно tab_man.list_view=this; tab_man.cont_manager=cnt_man; tab_man.access=access; rows=tab_man.getRows()+1; //все ето поредиляет cols=tab_man.getCols(); head=tab_man.getHead(); //поведение и данние var it:Node[]; var rc:String[]; var c_id:String; //создаю заголовок for(j in [0..cols-1]) { it[j]=SwingTextField { columns: 10 text: head[j] editable: false visible: true width: bind (width-cell_spacing*(cols-1))/cols } } row_lst[0]=HBox { spacing: cell_spacing content: it } //создаю остальное for(i in [1..rows-1]) { rc=tab_man.fillRow(); if(rc!=null) c_id=tab_man.getID(); if(rc==null) { rc=for(k in [0..<cols]) new String(""); } it[cols-1]=tab_man.getLastColumn(); for(j in [0..cols-2]) { it[j]=SwingTextField { columns: 10 text: rc[j]; editable: edit disable: false; visible: true width: bind (width-cell_spacing*(cols-1))/cols id: c_id action: function(){println("hello people");} }; } row_lst[i]=HBox { spacing: cell_spacing content: it } } listView = VBox { spacing: cell_spacing layoutX: x layoutY: bind y-(scrollBar.value) content: bind row_lst }; scrollBar=ScrollBar { layoutX: bind (width-scrollBar.width+x) layoutY: y min: 0 max: bind Math.max((listView.boundsInLocal.height - height), 0) vertical: true height: bind height blockIncrement: bind height focusTraversable: false blocksMouse: false };
return Group { content: [ Group { content: bind listView layoutX: x layoutY: y clip:Rectangle { y: y x: x width: bind width height: bind height } }, scrollBar ] } }
|
|
|
|
|
|
Страница 1 из 1
|
[ 1 сообщение ] |
|
Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы