SWTでGUIアプリケーション作成中にツールバーに関して引っかかったのでメモ
通常のテキストのボタンなら以下の様なコードでOKです。
Toolbar.java
ToolBar toolBar = new ToolBar(shell, SWT.NONE);
ToolItem toolItem = new ToolItem(toolBar, SWT.PUSH);
toolItem.setText("開く");
せっかくなので画像にしてそれっぽくしようとします。
Toolbar.java
ToolBar toolBar = new ToolBar(shell, SWT.NONE);
ToolItem toolItem = new ToolItem(toolBar, SWT.PUSH);
//toolItem.setText("開く");
toolItem.setImage(new Image(display,"icon.png");
これで、よくあるアプリケーションのようにアイコンのみのボタンができるはず。。。
Mac(OS X 10.10)では、意図したとおりになります。
しかし、Windows 7環境では、左右に大きなマージン付きの横長ボタンになってしまいます。
ToolItem.setWidth()もセパレーター用みたいなのでどうしたものかと試行錯誤してると、
Toolbar.java
ToolBar toolBar = new ToolBar(shell, SWT.NONE | SWT.RIGHT);
ToolItem toolItem = new ToolItem(toolBar, SWT.PUSH);
//toolItem.setText("開く");
toolItem.setImage(new Image(display,"icon.png");
ToolBarのスタイルにSWT.RIGHT
を指定してあげるとうまくいきました。
ちなみに画像+テキストなボタンのときは普通にうまくいきます。