2
我嘗試使用表單的addmouselistener方法,並檢查點擊是否位於標題欄區域,但鼠標偵聽器不工作。 我試圖添加鼠標監聽器的形式和form.getform()和form.getBody() 都沒有工作。Eclipse RCP - 如何在eclipse的標題欄上添加mouselistener ScrolledForm
這裏是代碼中,我創建的形式,並試圖在其上添加一個鼠標監聽器:
toolKit = new FormToolkit(parent.getDisplay());
form = toolKit.createScrolledForm(parent);
FillLayout layout = new FillLayout();
layout.type = SWT.VERTICAL;
layout.marginHeight = 10;
layout.marginWidth = 4;
canvas = new FigureCanvas(form.getBody(), SWT.DOUBLE_BUFFERED);
canvas.setViewport(new FreeformViewport());
canvas.setBackground(ColorConstants.white);
canvas.setContents(root);
form.getBody().setLayout(layout);
form.setText("Data Transactions View");
createHeaderRegion(form);
toolKit.decorateFormHeading(form.getForm());
form.getToolBarManager().add(new Action("This") { });
form.getForm().addMouseListener(new MouseListener(){
@Override
public void mouseDoubleClick(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseDown(MouseEvent e) {
if(e.x<10 && e.y<10){
form.getToolBarManager().add(new Action("This is the toolbar") { }); // NEW LINE
form.getToolBarManager().update(true); // NEW LINE
}
}
@Override
public void mouseUp(MouseEvent e) {
// TODO Auto-generated method stub
}
}});
有什麼建議?
請發佈SSCCE(您的代碼),以便我們可以更好地幫助您。如果這是作業,請將其標記爲家庭作業。這可能是您的addmouselistener存在的問題,您的輸出存在問題,或者您的GUI有問題。 – 2012-07-05 13:05:21