Windows 上で動作する Java SWT で記述されたデスクトップ ベースの UI アプリケーションがあります。
下の画像に示すように、UI 画面にボタンを追加したいと考えています。その動作は、iPhone のバッジや Facebook の通知に似ている必要があります。
バッジの数字は動的で、保留中の通知の数に基づいて増減します。
SWT/AWT で同様のものを実装するにはどうすればよいですか?
IOS バッジ:
Facebook 通知:
![]()
また、これにはコントロール装飾を使用できます。hide()利点は、メソッドを使用して通知を簡単に非表示/表示し、show()ツールヒント テキストとリスナーを追加できることです。
コントロール装飾の使用方法については、このブログを参照してください。Buttonケースの代わりにウィジェットを使用Textしてください。
以下のように通知画像を作成し、ControlDecorationオブジェクトに設定します。
Image image = new Image(display, 20, 25);
GC gc = new GC(image);
gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
gc.fillRectangle(0, 0, 20, 25);
gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
int notif = 5;
gc.drawText(new Integer(notif).toString(), 5, 5);
gc.dispose();