2010-05-22 2 views

ответ

1

Если следовать RCP tutorial, вы увидите, что вы можете определить свой собственный взгляд:

package de.vogella.rcp.intro.view; 

import org.eclipse.swt.SWT; 
import org.eclipse.swt.widgets.Composite; 
import org.eclipse.swt.widgets.Text; 
import org.eclipse.ui.part.ViewPart; 

public class MyView extends ViewPart { 

    @Override 
    public void createPartControl(Composite parent) { 
     Text text = new Text(parent, SWT.BORDER); 
     text.setText("Imagine a fantastic user interface here"); 
    } 

    @Override 
    public void setFocus() { 
    } 
} 

Это даст вам представление с настраиваемым текстом.

alt text http://www.vogella.de/articles/RichClientPlatform/images/addview200.gif

Если вы держите ссылку на org.eclipse.swt.widgets.Text используется для отображения какой-либо текст, вы можете изменить этот текст.

+0

Ну, я хочу, открытый один вид, определяемый себя, нажав PopupMenu.I нужно получить выбранный файл (ы), чтобы сделать что-н., Затем отображать некоторые вещи в представлении. Как сохранить ссылку на текст или что-то в этом роде? Я думаю, что представление инициализируется WorkBench или sth. хотя он определен мной ... – user347744

+0

@ user347744: если он определен сам собой, вы можете специализировать этот класс любым удобным вам способом, включая один текст настройки в поле SWT Text. Нет необходимости хранить * прямую * ссылку на само поле. Только один правильный вид, определенный вами. – VonC

+0

@ VonC: Большое вам спасибо, я думаю, что нашел решение. – user347744

1

мое решение от мысли VonC.

//below codes are working for View. 
//variable to keep reference to Canvas 
private Canvas canvas = null; 
... 

//copy 
public void createPartControl(Composite parent) { 
    Canvas canvas = new Canvas(parent, SWT.BORDER | 
      SWT.NO_MERGE_PAINTS | SWT.NONE); 
    this.canvas = canvas; 
} 

//... 

//one getter method to get canvas 
public Canvas getCanvas(){ 
    return this.canvas; 
} 
////////////////////////////////// 
////////////////////////////////// 
//below codes are working in PopupMenu's action 
page.showView("org.act.bpel2automata.views.GraphView"); 
IViewPart view = page.findView("org.act.bpel2automata.views.GraphView"); 

//GraphView is defined by myself,    
if(view instanceof GraphView){ 
    GraphView gView = (GraphView)view; 
    Canvas canvas = gView.getCanvas(); 
} 

//other operations,like draw lines or sth. 
... 
+0

Отличная обратная связь! +1 – VonC

Смежные вопросы