2013-07-15 59 views
0

我有事件在Java中,我需要幫助如何獲得字段的值(例如columnFootersVisible)。java數據源屬性

更多信息 - 事件是Vaadin Property.ValueChangeEvent

  • 事件 - >
    • 源 - >
      • columnFootersVisible - 假

這裏截圖事件: enter image description here

我知道我可以得到源對象,但有可能獲得在debbuger可見的所有事件數據?

+0

你是什麼意思?調試器是否已經向您顯示一切? – Thilo

+0

將源對象轉換爲特定的字段對象可提供更多屬性。 – pundit

+0

所以我怎麼能做到這一點,例如我張貼columnFootersVisible是布爾 – user2582722

回答

0

IDE向您顯示了對象(事件和表)的受保護(source,黃色標記)和私有(columnFootersVisible,紅色標記)字段的值。儘管通過反射可以訪問Java中的私有字段,但通常的方法是使用公共API。

兩個事件的source和表的columnFootersVisible字段都有相應的公共訪問器:getSourceisFooterVisible,相應地。所以,你可以使用這些方法:

if(event.getSource() instanceOf Table) { 
    Table table = (Table) event.getSource(); 
    boolean isFooterVisible = table.isFooterVisible(); 
} 

如果由於某種模糊的原因,你還是要直接訪問私有字段,那麼你可能想借此對這個問題看:

Is it possible in Java to access private fields via reflection