【问题标题】:SWT System Tray - Linux GTK Gnome Tray icons with "SWT" String on traySWT 系统托盘 - Linux GTK Gnome 托盘图标,托盘上带有“SWT”字符串
【发布时间】:2013-01-15 19:32:38
【问题描述】:

我正在使用以下代码配置系统托盘图标:

/**
 * 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);
            }
        });         
    }

}           

托盘设置正常,但字符串“SWT”作为标签出现在托盘图标的一侧。

系统是 Fedora Core 17 (GNOME)。

这是平台问题还是有办法更改文本?

这是截图:

【问题讨论】:

标签: java swt trayicon


【解决方案1】:

您对 Gnome 3.x 有误解。 系统托盘位于右下角,可与提供的代码示例一起正常工作。所以“SWT”位于您的应用程序标题栏中;显示的菜单是默认插入退出菜单项的应用程序菜单。

您的屏幕截图显示了桌面的左上角。 “SWT”是使用 SWT 创建的应用程序的默认后备值。在测试时,我很惊讶它与(活动)窗口的标题不对应。我想这是一个错误。关于如何确定应用程序标题的技术细节可以在这个问题中找到(Python 和 PyGTK;一些外部参考):How to set application title in Gnome Shell?

【讨论】:

  • fabrica.infosolo.com.br/swt_shot3.png 有 gnome 系统托盘的截图。我在 Pentaho Data Integration Spoon(使用 swt + jface + eclipse 表单构建的 ETL 工具)中看到了这种情况。
  • 可能是同一个问题。 请在上传前裁剪截图。系统托盘 - 不是全分辨率的两个屏幕桌面。
【解决方案2】:

我设法更改了应用程序名称,从而更改了我在 KDE 系统托盘中看到的文本,方法是:

Display.setAppName("Whatever");

首先是 SWT 代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多