2013-06-29 124 views
3

我正在爲我的項目使用SWT畫布。我的問題是我無法爲它設置背景顏色。這是我的代碼。無論我給背景添加什麼顏色,運行我的插件時,我都只能獲得淺灰色的默認背景色。有人可以幫助我嗎?Java SWT - 設置畫布背景顏色

謝謝!

@Override 
public void createPartControl(Composite parent) { 

    scParent = new ScrolledComposite(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); 
    scParent.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); 
    scParent.setExpandHorizontal(true); 
    scParent.setExpandVertical(true); 

    // Create Canvas to hold the table 
    tableCanvas = new Canvas(scParent, SWT.H_SCROLL | SWT.V_SCROLL); 
     tableCanvas.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); 
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); 
    gd.heightHint = 116; 
    gd.horizontalSpan = 3; 
    tableCanvas.setLayoutData(gd); 

回答

1

這裏是我做了變通辦法中的滾動複合的工作權利。此前,滾動機制也無法正常工作+我無法設置背景。這裏是更新的代碼:

@Override 
public void createPartControl(Composite parent) { 
    parent.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); 
    parent.setLayout(new FillLayout(SWT.HORIZONTAL)); 

    ScrolledComposite scrolledComposite = new ScrolledComposite(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); 
    scrolledComposite.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); 
    scrolledComposite.setExpandHorizontal(true); 
    scrolledComposite.setExpandVertical(true); 
    scrolledComposite.setMinWidth(400); 
    scrolledComposite.setMinHeight(400); 

    Composite myViewParent = new Composite(scrolledComposite, SWT.NONE); 
    myViewParent.setBackground(SWTResourceManager.getColor(SWT.COLOR_CYAN)); 
    myViewParent.setLayout(null); 

    Button btnNewButton = new Button(myViewParent, SWT.NONE); 
    btnNewButton.setBounds(45, 237, 90, 30); 
    btnNewButton.setText("New Button"); 

    scrolledComposite.setContent(myViewParent); 
    scrolledComposite.setMinSize(myViewParent.computeSize(SWT.DEFAULT, SWT.DEFAULT)); 
    parent.setSize(600, 300); 
0

像這樣,例如將背景色設置爲藍色。

tableCanvas.setBackground(tableCanvas.getDisplay().getSystemColor(SWT.COLOR_BLUE)); 

這篇文章將是非常有啓發你

http://eclipse.org/articles/Article-SWT-graphics/SWT_graphics.html#Canvas

+0

感謝您的回答。該教程確實非常有用。不幸的是,它並不適合我。我做了一個工作,最終效果很好。我會把它作爲答案。 – user2033666