[SWT/JFace] ToolBar Icons werden stark verkleinert

Prophet05

Erfahrenes Mitglied
Hallo,

ich habe mich in SWT/JFace eingearbeitet und eine nette kleine Anwendung erstellt. Ich habe von ApplicationWindow abgeleitet und die createToolBarManager() und createMenuManager() Methode überschrieben um diese mit Actions zu füllen. Das funktioniert auch soweit allerdings werden meine Icons, welche eine Größe von 48x48 Pixel haben innerhalb der ToolBar auf 5x5 Pixel herunter skaliert. Könnt ihr mir sagen was ich falsch mache? In der MenuBar sind die Icons in originaler Größe zu sehen.

Hier Auszüge aus dem Quelltext (gekürzt):
Code:
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.window.ApplicationWindow;
// Weitere Imports....

public class MyWindow extends ApplicationWindow {
    
    // Leiten aller drei von Action ab...
    private final SaveAction          saveAction          = new SaveAction();
    private final SaveAsAction        saveAsAction        = new SaveAsAction();
    private final OpenDirectoryAction openDirectoryAction = new OpenDirectoryAction();
    
    private TreeViewer uiGalleryView = null;
    
    /**
     * The default constructor.
     */
    public MyWindow() {
        super(null);
        
        this.setBlockOnOpen(true);
        
        this.addMenuBar();
        this.addToolBar(SWT.FLAT | SWT.HORIZONTAL);
    }

    protected MenuManager createMenuManager() {
        MenuManager menuBar = new MenuManager();
        
        MenuManager fileMenu = new MenuManager("&File");
        
        fileMenu.add(this.openDirectoryAction);
        fileMenu.add(this.saveAction);
        fileMenu.add(this.saveAsAction);
        
        menuBar.add(fileMenu);
        
        return menuBar;
    }

    protected ToolBarManager createToolBarManager(int style) {
        ToolBarManager toolBar = new ToolBarManager(style);
        
        toolBar.add(this.openDirectoryAction);
        toolBar.add(this.saveAction);
        toolBar.add(this.saveAsAction);
        
        return toolBar;
    }

    protected Control createContents(Composite parent) {
        
        this.getShell().setText("PdfGal");
        
        this.saveAction.update();
        this.saveAsAction.update();
        this.openDirectoryAction.update();
        
        final GalleryProvider galleryProvider = new GalleryProvider();
        
        this.uiGalleryView = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.BORDER);
        this.uiGalleryView.setContentProvider(galleryProvider);
        this.uiGalleryView.setLabelProvider(galleryProvider);
        
        this.getShell().pack();
        
        return parent;
    }
    
    private class SaveAction extends Action {
        
        // Eine Action...
        
    }
    
    private class SaveAsAction extends Action {
        
        // Eine Action...
        
    }
    
    private class OpenDirectoryAction extends Action {
        
        // Eine Action...
        
    }
    
}

Mache ich etwas falsch?

Gibt es davon mal abgesehen eine Möglichkeit, in der Action, getrennte Icons für das Menü und die Toolbar anzugeben? Ich würde gerne große Icons in der Toolbar zeigen aber nur kleine im Menü, umgekehrt würde ich auch gerne keinen Text in der Toolbar dafür aber im Menü anzeigen...

Gruß, Prophet
 

Neue Beiträge

Zurück