取得class未開放屬性

 java中經常有使用源生組件的情況,但是有時會出現,想使用的控件某些屬性,未被公開,此時可以使用此方法取得。

如swt裏的ccombo,想使用它的text屬性,可以如下使用

private Text getText(){
   //get Text control
   Object o = null;
    Class<?> clazz = cc.getClass();
       try {
     Field f = clazz.getDeclaredField("text");
     f.setAccessible(true);
     o = f.get(cc);
    } catch (SecurityException e) {
     e.printStackTrace();
    } catch (NoSuchFieldException e) {
     e.printStackTrace();
    } catch (IllegalArgumentException e) {
     e.printStackTrace();
    } catch (IllegalAccessException e) {
     e.printStackTrace();
    }
      
      return (Text)o;
  }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章