在GWT中,我試圖使用網格中的按鈕來獲取FlexTable,以便單擊其中一個按鈕會導致發生某些事情。然而,當我看結果在瀏覽器中,我得到如下:GWT流表填充單元格
+-+-+ +-+
|a|b| |c|
+-+-+ +-+
|e|
+-+-+-+-+-+
|d|h|i|f|g|
+-+-+-+-+-+
|j|
+-+
|k|
+-+
,而我要的是這樣的:
+-+---+---+
|a| b | c |
+-+---+-+-+
| | e | | |
| +-+-+ | |
| |h|i|f|g|
|d+-+-+ | |
| | j | | |
| +---+-+-+
| | k |
+-+-------+
我試着用table.getFlexCellFormatter().setColSpan(row, col, span)
作爲API的建議,但是這導致了上面的第一個結果。我應該如何繼續的任何想法?
@Stefan:我的代碼是
public MyPanel() {
Button b;
FlexTable ft = new FlexTable();
ClickHandler click = new ClickHandler() {
@Override
public void onClick() {
// do something here with the button that was clicked
}
}
b = new Button("a");
b.addClickHandler(click);
ft.setWidget(0, 0, b);
// do the same for button "b" at (0,1), "c" at (0,3), "d" at (1,0), "e" at (1,1),
// "f" at (1,3), "g" at (1,4), "h" at (2,1), "i" at (2,2), "j" at (3,1), "k" at (4,1)
ft.getFlexCellFormatter().setColSpan(0, 1, 2);
ft.getFlexCellFormatter().setColSpan(0, 3, 2);
ft.getFlexCellFormatter().setRowSpan(1, 0, 4);
ft.getFlexCellFormatter().setColSpan(1, 1, 2);
ft.getFlexCellFormatter().setRowSpan(1, 3, 3);
ft.getFlexCellFormatter().setRowSpan(1, 4, 3);
ft.getFlexCellFormatter().setColSpan(3, 1, 2);
ft.getFlexCellFormatter().setColSpan(4, 1, 4);
}
您可以提供你的代碼? – Stefan 2012-02-13 16:33:53