3

次のコードを使用して、システム トレイ アイコンを構成しています。

/**
 * Configura os ícones da shell principal
 */
protected void setDiplayIcons(Shell shell){
    Display display = shell.getDisplay();
    InputStream inputImgTray = getClass().getClassLoader().getResourceAsStream(ImagensNaNOffline.IMG_LOGO_SEBRAE.getPath());
    Image image = new Image(display, inputImgTray);
    shell.setImage(image);

    Tray tray = display.getSystemTray();

    final ToolTip tip = new ToolTip(shell, SWT.BALLOON | SWT.ICON_INFORMATION);
    tip.setMessage("Balloon Message Goes Here!");
    if(tray != null) {
        TrayItem trayItem = new TrayItem(tray, SWT.NONE);
        trayItem.setImage(image);
        tip.setText("Balloon Title goes here.");
        trayItem.setToolTip(tip);
        final Menu menu = new Menu(shell, SWT.POP_UP);
        MenuItem menuItem = new MenuItem(menu, SWT.PUSH);
        menuItem.setText("Button A");
        menuItem = new MenuItem(menu, SWT.PUSH);
        menuItem.setText("Button B");
        menuItem = new MenuItem(menu, SWT.PUSH);
        menuItem.setText("Show Tooltip");
        menuItem.addListener (SWT.Selection, new Listener () {          
            public void handleEvent (Event e) {
                tip.setVisible(true);
            }
        });         
        trayItem.addListener (SWT.MenuDetect, new Listener () {
            public void handleEvent (Event event) {
                menu.setVisible (true);
            }
        });         
    }

}           

トレイは正常に設定されていますが、STRING "SWT" がトレイ アイコンの横にラベルとして表示されています。

システムは Fedora Core 17 (GNOME) です。

プラットフォームの問題ですか、それともテキストを変更する方法はありますか?

スクリーンショットは次のとおりです。

ここに画像の説明を入力

4

2 に答える 2

2

あなたは Gnome 3.x について誤解しています。システム トレイは右下隅にあり、提供されているサンプル コードで正常に動作します。したがって、「SWT」はアプリケーションのタイトル バーにあります。表示されているメニューは、デフォルトで終了メニュー項目が挿入されたアプリケーション メニューです。

スクリーンショットは、デスクトップの左上隅を示しています。「SWT」は、SWT で作成されたアプリケーションのデフォルトのフォールバック値です。テスト中に、(アクティブな) ウィンドウのタイトルに対応していないことに驚きました。これはバグだと思います。アプリケーション タイトルの決定方法に関する技術的な詳細は、この質問 (Python と PyGTK、いくつかの外部参照) にあります: How to set application title in Gnome Shell?

于 2013-01-16T22:25:18.830 に答える