SWT Window Builder Pro File Dialog anzeigen

Thorus

Mitglied
Hi,

Wie kann ich mit dem Window Builder Pro einen Dialog anzeigen lassen, in dem der User ein File auswaehlen kann? Dafuer gibt es doch bestimmt einen Knopf in der Palette, nur wie heisst der? Falls nicht, wie geht das dann?

Danke
Thorus
 
meinst du JFileChooser ?
gehört aber m.W. in die Swing Ecke und nicht zu SWT, da macht man das irgendwie mit den Services....aber das soll dir jemand erklären, der Ahnung davon hat^^
 
Hi,

Danke schon mal fuer die Antworten.

Ich hab das jetzt mal mit JFileChooser probiert und wollte den file dialog auf einen Button legen:

Java:
		btnXML1.addSelectionListener(new SelectionAdapter() {
			final JFileChooser fc = new JFileChooser();
			int returnVal = fc.showOpenDialog(fc);@Override
			public void widgetSelected(SelectionEvent e) {
			}
		});

Allerdings macht er jetzt den File-Dialog sofort auf, ohne dass man den button druecken muss...

Warum ist das so?
 
Natürlich macht er das

du initialisiert den Filechooser als Feld der anonymen Klasse SelectionAdapter und rufst ihn dann auf...

Hier mal die Sinnvolle Variante mit dem Code innerhalb der Methode...

Java:
        btnXML1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                  final JFileChooser fc = new JFileChooser();
                  int returnVal = fc.showOpenDialog(fc);
            }
        });
 
Hmm ja haette ich auch selbst drauf kommen koennen xD, aber hab vorher schon nach aehnlichen suchbegriffen gesucht und nichts gefunden...

Java:
		btnXML1.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				FileDialog fd = new FileDialog(startfenster, SWT.OPEN);
		        fd.setText("Open");
		        fd.setFilterPath("C:/");
		        String[] filterExt = { "*.txt", "*.doc", ".rtf", "*.*" };
		        fd.setFilterExtensions(filterExt);
		        String selected = fd.open();
		        textXML1.setText(selected);
			}

hierbei hat er mir jetzt startfenster angekreidet, mit dem quick fix von eclipse hat er mir bei der shell noch ein final hinzugefuegt, wieso benoetigt er hierfuer eine final shell?
 
Weil anonyme innere Klassen nur auf final deklarierte lokale Variablen des äusseren Scopes zugreifen können. Das ist ganz normale Java Syntax.
 

Neue Themen


Zurück
Oben