2013-01-15 2 views
2

나는 다음과 같은 코드를 사용하여 시스템 트레이 아이콘을 구성하고의 "SWT"문자열과 리눅스 GTK 그놈 트레이 아이콘 :SWT 시스템 트레이 - 트레이

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

}   

트레이가 OK 설정되어 있지만, STRING "SWT는" 레이블로 트레이 아이콘의 측면에 나타납니다.

시스템은 Fedora Core 17 (GNOME)입니다.

플랫폼 문제이거나 텍스트를 변경하는 방법이 있습니까?

enter image description here

+1

스크린 샷을 추가 할 수 있습니까? – Baz

+0

스크린 샷을 추가 할 수있는 권한이 없습니다. 하지만 Gnome 시스템 트레이에서 Eclipse를 실행하면 다음과 같은 현상이 발생합니다. [IMG TRAY] SWT – davidfdr

+0

예, 알고 있습니다. 다른 곳으로 업로드하고 링크를 게시하십시오. 그런 다음 여기에 포함시킬 수 있습니다. – Baz

답변

2

당신은 그놈 3.x에 대한 오해가 : 여기

는 스크린 샷입니다 시스템 트레이는 오른쪽 하단 모서리에 있으며 제공된 코드 예와 함께 올바르게 작동합니다. 따라서 "SWT"는 애플리케이션 제목 표시 줄에 있습니다. 표시된 메뉴는 기본적으로 종료 메뉴 항목이 삽입 된 응용 프로그램 메뉴입니다.

스크린 샷은 데스크톱의 왼쪽 위 모서리를 보여줍니다. "SWT"는 SWT로 만든 응용 프로그램의 기본 폴백 값입니다. 테스트하는 동안 나는 그것이 (활성) 윈도우의 제목과 일치하지 않는다는 것에 놀랐다. 이것이 버그라고 생각합니다. 응용 프로그램 제목 결정 방법에 대한 기술적 인 세부 사항은이 질문에서 찾을 수 있습니다 (Python 및 PyGTK, 일부 외부 참조) : How to set application title in Gnome Shell?

+0

+1입니다. – Baz

+0

https://fabrica.infosolo.com.br/swt_shot3.png에는 그놈 시스템 트레이의 스크린 샷이 있습니다. 필자는 Pentaho Data Integration Spoon (ETL 도구는 swt + jface + Eclipse 형식을 사용하여 빌드 됨)을 사용하여 이러한 현상을 보았습니다. – davidfdr

+1

아마도 같은 문제 일 수 있습니다. ** 업로드하기 전에 ** 스크린 샷을 자르십시오. 시스템 트레이 - 전체 해상도에서 두 개의 스크린 데스크탑이 아닙니다. – phineas

관련 문제