Calculant l'Alçada de la Barra d'Eines

L'NSToolbar no proporciona actualment un mètode que retorni la seva alçada. La funció de l'Objective-C del Llistat 1 calcula l'alçada de la barra d'eines en un finestra, retornant 0 si la barra d'eines està amagada.

Llistat 1: Funció d'Objective-C per calcular l'alçada de la barra d'eines

float ToolbarHeightForWindow(NSWindow *window) {
    NSToolbar *toolbar;
    float toolbarHeight = 0.0;
    NSRect windowFrame;

    toolbar = [window toolbar];

    if(toolbar && [toolbar isVisible]) {
        windowFrame = [NSWindow contentRectForFrameRect:[window frame]
                                styleMask:[window styleMask]];
        toolbarHeight = NSHeight(windowFrame)
                        - NSHeight([[window contentView] frame]);
    }

    return toolbarHeight;
}

En Java, pots calcular l'alçada de la barra d'eines utilitzant el mètode estàtic ToolbarHeightForWindow utilitzant la classe del Llistat 2.

Llistat 2: Mètode estàtic Java per calcular les alçades de la barra d'eines

public class ToolbarHeightCalculator {

    public static float ToolbarHeightForWindow(NSWindow window) {
        NSToolbar toolbar = window.toolbar();
        float toolbarHeight = (float)0.0;

        if(toolbar != null && toolbar.isVisible()) {
            NSRect windowFrame = NSWindow.contentRectForFrameRect(
                                 window.frame(), window.styleMask());
            toolbarHeight = windowFrame.height()
                            - window.contentView().frame().height();
        }

        return toolbarHeight;
    }
}

pàgina generada en: 0.575 segons.