2016-07-07 3 views
0

Java SWTを使用して、ユニファイドツールバーでネイティブな外観のMac OSXアプリケーションを作成しています。ここで Java SWT Macユニファイドツールバーレイアウトの問題

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(); 

上の任意のアイデアこれを修正する方法は?この方法は、寸法とウィジェットの位置を設定するために使用される

setBounds(x, y, width, height); 

答えて

0

すべてSWTウィジェットは、メソッドを持っています。

だから、あなたは何をする必要があり:

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

をそして、あなたはあなたが望むとおりにシェルを描くことができます。 ToolBarため

+0

。私は境界線の高さを必要以上に高く設定しようとしましたが、ツールバーのサイズはまったく変わりませんでした。 –

+0

そして、あなたはシェル境界を修正しようとしましたか?すべての境界を適切に定義する必要があります。 – emish89

0

のJavaDocは言う:このクラスのインスタンスに追加することができる

項目の子供たちはタイプToolItemの でなければなりません。

だから、

:どんなに私は、ボタンをツールバーに収まらないだろうし境界を設定するどのようなサイズ

ToolBar toolbar = parent.getToolBar(); 

ToolItem toolItem = new ToolItem(toolbar, SWT.PUSH); 
toolItem.setText("This toolitem is not chopped off"); 
+0

これは、ツールバーのさまざまなウィジェットを使用しているアプリでは、Macの統合ツールバーではそうではないようです。 https://gyazo.com/0c6acbe984172fa39af13dbfebe8daab ツールアイテムの使用を開始しましたが、 (前の画像のボタンと同様)。 –

+0

他のコントロールを追加することはできますが、ツールバーの深さの計算には含まれません。 –