0
我在選擇監聽器時遇到了一些麻煩,目前我已經獨立試驗了從TOP到BOTTOM和BOTTOM到TOP(鼠標移動)的文本選擇,但是這些試驗不會一起工作即一個 SelectionListener中是雙向的......向SelectionListener添加雙向功能
private void setupSelectionListener() {
this.contentValues.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent event) {
StyledText text = (StyledText)event.widget;
int x = event.x;
int y = event.y;
//Mouse Drag Listener here??? - Detects Right
//FOR TOP TO BOTTOM SELECTION
text.setSelection(event.x);
int beginPosition = event.x;
int beginByte = beginPosition/3;
int endPosition = event.y;
int endByte = endPosition/3;
setSelection(beginByte, endByte);
//Mouse Drag Listener here??? - Detects Left
//FOR BOTTOM TO TOP SELECTION
text.setSelection(event.y);
int beginPosition = event.y;
int beginByte = beginPosition/3;
int endPosition = event.x;
int endByte = endPosition/3;
setSelection(beginByte, endByte);
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
// Does nothing...
}
});
因此,無論我需要鼠標拖動偵聽像我在評論中所指出的,或條件語句比較event.x和event.y
我試圖添加一個拖動檢測監聽器內部的選擇監聽器,但是這會中斷事件座標選擇的格式。
任何幫助將不勝感激。