2017-04-18 7 views
0

これはRCPアプリケーションであり、(a)LISTの名前を持ち、FORループによってダウンロードされます。RCPアプリケーション/ SWTラベルBOLD

つまり、それらはメニュー項目であり、それぞれのレイヤー(コンポジット)で画面の左側に配置されています。

ここで必要なのは、アイテムをダブルクリックすると「SWT.BOLD」という文字が表示され、別のアイテムをクリックすると以前のものがSWT.NONEを受け取るということです選択された1つのSWT.BOLD。 highlighten ....ここ

コード:あなたはあなたの現在ハイライト表示されているラベルを保存し、そのフォントをリセットする必要が

for (int i = 0; i < 2; i++) { 
     final Label l1 = neueLabel(shell, "label "+i, i); 
     l1.addMouseListener(new MouseAdapter() { 
      @Override 
      public void mouseDoubleClick(MouseEvent e) { 
       if(e.button==1) 
        l1.setFont(SWTResourceManager.getFont("Segoe UI", 9, 
           SWT.BOLD)); 
      } 
     }); 
    } 

戦車

+0

実際の問題は何ですか?どうやってやるのか分からないのですか? –

+0

はいグレッグ!コードは半分です。つまり、BOLDに入れられたアイテムをクリックし、別のアイテムをクリックすると、最初のアイテムはBOLDに続き、もう1つはBOLDに従います。私が必要とするのは、アイテムをクリックすると前のSWT.NONEと現在のSWT BOLDを受け取るということです。 – BEN

+0

どうすれば解決できますか? – BEN

答えて

0

。あなたのクラスがprivate Label current;であると仮定すると、上書きされたメソッドは次のようになる可能性があります

if (e.button == 1) { 
    if (current != null) 
     current.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.NONE)); 
    l1.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD)); 
    current = l1; 
} 
+0

ステファンありがとう!出来た! – BEN

+0

喜んで聞いてください。だから誰かが私の質問に答えるとどうすればいいですか?](http://stackoverflow.com/help/someone-answers) –

関連する問題