如何确定Java SWT应用程序应用程序中应用程序窗口标题栏的高度?
由于Java与平台无关,我需要找到Java方式。
作为一个附带问题,标题/标题栏高度信息是否与其他系统/窗口指标位于同一位置?
我尝试搜索“标题栏”和“标题栏”,只是没有看到任何内容。
答案 0 :(得分:2)
你基本上想要计算"界限"之间的高度差。您的Shell
和"客户区" Shell
:
public static void main(String args[])
{
Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("StackOverflow");
shell.setLayout(new FillLayout());
Button button = new Button(shell, SWT.PUSH);
button.setText("Calculate");
button.addListener(SWT.Selection, new Listener()
{
@Override
public void handleEvent(Event arg0)
{
Rectangle outer = Display.getCurrent().getActiveShell().getBounds();
Rectangle inner = Display.getCurrent().getActiveShell().getClientArea();
System.out.println(outer.height - inner.height);
}
});
shell.pack();
shell.setSize(400, 200);
shell.open();
while (!shell.isDisposed())
{
if (!shell.getDisplay().readAndDispatch())
shell.getDisplay().sleep();
}
}
将在运行Linux Mint的笔记本电脑上打印31(px)。