Hallo zusammen!
Folgende Situation: Ich habe in meiner Eclipse-RCP-Anwendung eine View, die einen File und einen String als Attribut hat und das Bild aus dem File mit dem String darunter darstellt. Für File und String gibt es noch einen Setter, sodass er zur Laufzeit verändert werden kann. Klappt auch beim Start alles, wie kann ich die View dazu bringen, sich zu aktualisieren, nachdem ich den String und/oder das File geändert habe?
So sieht die Klasse (etwas verkürzt) aus. Bin für jede Hilfe dankbar, vielleicht benutze ich die View auch ganz falsch.
Folgende Situation: Ich habe in meiner Eclipse-RCP-Anwendung eine View, die einen File und einen String als Attribut hat und das Bild aus dem File mit dem String darunter darstellt. Für File und String gibt es noch einen Setter, sodass er zur Laufzeit verändert werden kann. Klappt auch beim Start alles, wie kann ich die View dazu bringen, sich zu aktualisieren, nachdem ich den String und/oder das File geändert habe?
Code:
public class TestView extends ViewPart {
public static final String ID = "TestView";
private File imageFile;
private String imageName;
public TestView() {
}
public void createPartControl( Composite parent ) {
final Image image = new Image( Display.getDefault(), imageFile.getAbsolutePath() );
Canvas imageCanvas = new Canvas( parent, SWT.BORDER );
imageCanvas.addPaintListener( new PaintListener() {
public void paintControl( PaintEvent e ) {
if ( previewImage == null ) {
e.gc.drawString( "Error: No image", 0, 0 );
} else {
e.gc.drawImage( previewImage, 0, 0 );
}
}
});
Label imageLabel = new Label( parent, SWT.CENTER );
imageLabel.setText(imageName);
}
public void setFile( File imageFile ) {
this.imageFile = imageFile;
}
public void setName( String imageName ) {
this.imageName = imageName
}
So sieht die Klasse (etwas verkürzt) aus. Bin für jede Hilfe dankbar, vielleicht benutze ich die View auch ganz falsch.