RCP-View Image öffnen und darstellen

Crashbreaker

Mitglied
Hallo Leute,

bin ziemlich Anfänger was Java-Programmierung betrifft und hoffe mal, dass ich hier mein Beitrag richtig poste.

Ich habe auf meinem View.java ein Tabfolder erstellt, wo drin ich ein Image mit Dialog öffnen in mein Programm laden möchte bzw. dieses dann später mit Hibernate auf die Datenbank als Binär ablegen.

Aber zunächst wäre mein Problem ein Image, mit dem "Dialog öffnen" zu erstellen.
Ich habe sämtliche Beispiele mir angeschaut und getestet aber irgendwie bekomme ich das gar nicht hin.

Kann mir jemand sagen wie ich das bewältigen kann?
Wäre euch sehr Dankbar!

MfG
Daniel
 
Hallo Leute,

gibt es hier denn niemand, der mir helfen kann?
Ich zweifel gerade ... Suche mich im Internet zu Tode nach einer Lösung.
Doch leider finde ich nichts.

Die Beispiele die im Internet sind, ergeben bei mir ständig Error und weiß gar nicht wie ich da weiter kommen soll ...

Bitte um Hilfe !!!

MfG
Daniel
 
naja, wo kommt dei image denn her?

Hallo Vanny,

wie meinst du das mit wo kommt mein "image" her?

Also ich habe ein ganz einfachen leeren View Oberfläche in RCP.
Da möchte ich es so haben, dass der Nutzer sowohl über Menü und auch über einem "Button-klick" aus der Festplatte sich ein Image aussucht (Dialog) und dieses Bild dann in einem bestimmten Größe im View angezeigt bekommt.

Wie müsste ich vorgehen und wie sehe der Quelltext aus?
Weil die ganzen Beispiele im Netzt passt irgendwie nicht und es ist zum heulen ...

Ich wäre euch sehr dankbar, wenn ihr mir da helfen könnt!

MfG
Daniel
 
Vorrausgesetzt du verwendest das Eclipse RCP (und damit SWT)
Du nimmst einen FileDialog, lässt den Benutzer das Bild auswählen. Lädst das Image mittels
Java:
Image image = new Image(display, pfadZumImage);
und kannst es nun in einem Label anzeigen.
 
Vorrausgesetzt du verwendest das Eclipse RCP (und damit SWT)
Du nimmst einen FileDialog, lässt den Benutzer das Bild auswählen. Lädst das Image mittels
Java:
Image image = new Image(display, pfadZumImage);
und kannst es nun in einem Label anzeigen.


Hey danke Sonecc,

genau das meinte ich (Eclipse RCP via SWT) ...
Doch wo kann ich den FileDialog finden und hinzufügen?
Ich finde den irgendwie nicht in den ganzen SWT-Werkzeugen etc.

Das scheint ja doch einfacher zu sein als gedacht.

Ich wäre euch sehr dankbar, wenn ihr mir das etwas genauer schildern könnt!

MfG
Daniel
 
Googlen hilft... Stichwörter: swt filedialog

1. Treffer: File Dialog Example : DialogSWT JFace EclipseJava
4. Treffer: http://www.java-forum.org/awt-swing-swt/45189-filedialog-swt.html

Hin und wieder führt Google schneller und mit deutlich weniger Aufwand zum Ziel, als im Forum zu posten.

Hallo Sonecc,

danke für dein sehr hilfreichen Tipp ...
Da hast du recht, aber man muss erst mal auf den jeweiligen Stichwörtern (in dem Fall auf "swt filedialog") kommen ;-) ...

Nun habe ich ein weiteres Problem.
FileDialog öffnen kann ich jetzt, dank Sonecc ...
Doch wie übergebe ich dem den Label jetzt den Pfad, so das er dieses Bild aufruft und anzeigt?

Weil ich habe ständig ein Konvertierungsproblem.
Ich kann nur IAction als Rückgabewert nehmen und FileDialog übergibt mir ein String 🙁


Hier mein TestAction-Klasse
Java:
....
        Shell shell;

	public TestAction() {
		setId(ID);
	}

	public void run() {

		shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
		.getShell();
		
		/*
		String dialogBoxTitle = "Message";
		String message = "You clicked something!";
		MessageDialog.openInformation(shell, dialogBoxTitle, message);
		*/
		
	}
	
	public IAction openDialog() {
		FileDialog fd = new FileDialog(shell, SWT.OPEN);
		fd.setText("Open");
		fd.setFilterPath("C:/Users/%user%/Pictures");
		String[] filterExt = { "*.jpg", "*.jpeg", ".png", "*.*" };
		fd.setFilterExtensions(filterExt);
		String selected = fd.open();
		System.out.println(selected);
		
		setText(selected); // war ein Versuch :(
		
		return null;
	}

...

Und hier mein View-Klasse

Java:
.....

		
		Label lblNewLabel = new Label(composite_1, SWT.BORDER);
		lblNewLabel.setVisible(true);
		GridData gd_lblNewLabel = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
		gd_lblNewLabel.widthHint = 495;
		gd_lblNewLabel.heightHint = 377;
		lblNewLabel.setLayoutData(gd_lblNewLabel);
		lblNewLabel.setImage(ResourceManager.getPluginImage(" Diese Zeile funktioniert irgendwie nicht !!! "));
		lblNewLabel.setBounds(0, 0, 55, 15);
		lblNewLabel.setText("New Label");
		

		createActions();
		initializeToolBar();
		initializeMenu();
	}

	/**
	 * Create the actions.
	 */
	private void createActions() {
		// Create the actions
		{
			action = new Action("New Action") {

			};
		}
	}

	/**
	 * Initialize the toolbar.
	 */
	private void initializeToolBar() {
		TestAction testAction = new TestAction ();
		testAction.setText("Open Dialog Box");
		testAction.setImageDescriptor(Activator.getImageDescriptor("icons/seperat/test.gif"));
		
		
		getViewSite().getActionBars()
				.getToolBarManager().add(testAction.openDialog());
		
		System.out.println("Test ==> " + testAction);
	}
	
	/**
	 * Initialize the menu.
	 */
	private void initializeMenu() {
		IMenuManager menuManager = getViewSite().getActionBars()
				.getMenuManager();
	}

	@Override
	public void setFocus() {
		// Set the focus
	}
}

Bitte um Hilfe, sitzte schon mehrere Tage / Wochen schon dran und bekomme es irgendwie nicht hin.

MfG
Daniel
 

Neue Themen


Zurück
Oben