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;
}
}