2012-04-27 18 views
0

AWTからEclipse SWTプラグインにコードを適用しようとしています。リフレッシュの問題があります。表(AWT)のビューとチャート(AWT)のビューがあります。個別には問題ありませんが、両方を追加すると、チャートビューでのみリフレッシュの問題に直面しています。前もって感謝します。Eclipse RCPプラグインのGUIリフレッシュの問題

答えて

0

JPanelをSWTビューに埋め込むために私がしなければならなかったことは次のとおりです。 frameFrameある

 Composite videoComposite = new Composite(panel, 
       SWT.EMBEDDED | SWT.BORDER | SWT.NO_BACKGROUND); 
     videoComposite.setLayout(new FillLayout()); 
     videoComposite.setLayoutData(new GridData(
       SWT.CENTER, SWT.CENTER, true, true, 1, 1)); 

     CLabel videoImage = new CLabel(videoComposite, SWT.SHADOW_IN); 
     videoImage.setImage(dummyVideo); 

     frame = SWT_AWT.new_Frame(videoComposite); 

     SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       setLookAndFeel(); 
       applet = new JApplet(); 
       applet.setFocusCycleRoot(false); 
       mediaPanel = rabidVideo.getVideoPanel(false); 
       applet.add(mediaPanel); 
       frame.add(applet); 
      } 
     }); 

appletJAppletであり、そしてmediaPanelJPanelの拡張です。

ここsetLookAndFeelです:

protected void setLookAndFeel() { 
    try { 
     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
    } catch (ClassNotFoundException e) { 
     EclipseLogging.logError(RabidPlugin.getDefault(), 
        RabidPlugin.PLUGIN_ID, e); 
    } catch (InstantiationException e) { 
     EclipseLogging.logError(RabidPlugin.getDefault(), 
        RabidPlugin.PLUGIN_ID, e); 
    } catch (IllegalAccessException e) { 
     EclipseLogging.logError(RabidPlugin.getDefault(), 
        RabidPlugin.PLUGIN_ID, e); 
    } catch (UnsupportedLookAndFeelException e) { 
     EclipseLogging.logError(RabidPlugin.getDefault(), 
        RabidPlugin.PLUGIN_ID, e); 
    } 
}