Java SWT Mac统一工具栏布局问题

时间:2016-07-07 15:35:09

标签: java macos swt toolbar

我正在使用Java SWT制作具有统一工具栏的原生Mac OSX应用程序。问题是我放在这个工具栏中的按钮被切断了(就像工具栏不够大的按钮): http://i.stack.imgur.com/jiuer.png

这是我的代码:

Display display = new Display();
Shell shell = new Shell(display);

ToolBar toolbar = shell.getToolBar();
Button toolButton = new Button(toolbar, SWT.PUSH);
toolButton.setText("This button is chopped off");
toolButton.pack();

shell.open();
while (!shell.isDisposed()) {
    if (!display.readAndDispatch()) {
        display.sleep();
    }
}
display.dispose();

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:0)

所有SWT小部件都有以下方法:

setBounds(x, y, width, height);

此方法用于设置小部件的尺寸和位置。

所以你必须这样做:

toolbar.setBounds(x, y, w, h);
toolButton.setBounds(x2, y2, w2, h2);

您可以完全按照自己的意愿绘制外壳。

答案 1 :(得分:0)

ToolBar的JavaDoc说:

  

可以添加到此类实例的项目子项必须是   类型为ToolItem

所以:

ToolBar toolbar = parent.getToolBar();

ToolItem toolItem = new ToolItem(toolbar, SWT.PUSH);
toolItem.setText("This toolitem is not chopped off");
相关问题