0
我正在創建一個SWT應用程序,它們之間有兩個TreeViewers
和TableViewer
。對齊TableViewer和TreeViewer
TableViewer
在每行中都包含圖像,指示在該行的TreeViewer
中的日期。
但問題是TableViewer
中的圖像與TreeViewer
中的行不正確對齊。我有什麼方法可以確保他們的行保持完全平整嗎?
由於
ADDED
我正在創建一個SWT應用程序,它們之間有兩個TreeViewers
和TableViewer
。對齊TableViewer和TreeViewer
TableViewer
在每行中都包含圖像,指示在該行的TreeViewer
中的日期。
但問題是TableViewer
中的圖像與TreeViewer
中的行不正確對齊。我有什麼方法可以確保他們的行保持完全平整嗎?
由於
ADDED
可以更改行的高度是通過覆蓋「測量方法」的行爲測量的方式,即增加一個Listener
到SWT.MeasureItem
。有一個很好的例子here。只需使用TreeViewer
中使用的圖標的高度加上可能有幾個邊界像素即可。
這裏是重要的部分代碼:
Display display = new Display();
Shell shell = new Shell(display);
shell.setBounds(10,10,200,250);
final Table table = new Table(shell, SWT.NONE);
table.setBounds(10,10,150,200);
table.setLinesVisible(true);
for (int i = 0; i < 5; i++) {
new TableItem(table, SWT.NONE).setText("item " + i);
}
table.addListener(SWT.MeasureItem, new Listener() {
public void handleEvent(Event event) {
int clientWidth = table.getClientArea().width;
event.height = event.gc.getFontMetrics().getHeight() * 2;
event.width = clientWidth * 2;
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
截圖可能? – Baz
我無法真正分享項目的樣子。試想一下TreeViewer,然後是每行有一個小圖標的表格,然後是另一個Treeviewer。表格行不與TreeViewer行完美對齊。 – CodyBugstein
那麼,如果沒有你分享一些代碼或視覺反饋,真的很難分辨發生了什麼...... – Baz