0

Java でイベントがあり、フィールドの値 (たとえばcolumnFootersVisible) を取得する方法を教えてください。

詳細 - イベントは Vaadin Property.ValueChangeEvent です

  • イベント->
    • ソース->
      • columnFootersVisible - false

ここでイベントのスクリーンショット: ここに画像の説明を入力

ソース オブジェクトを取得できることはわかっていますが、デバッガーですべてのイベント データを表示することは可能ですか?

4

1 に答える 1

0

IDE は、オブジェクト (イベントとテーブル)の保護された ( source、黄色のマーク) フィールドと非公開 ( 、赤いマーク) フィールドの値を示しました。columnFootersVisibleリフレクションを通じて Java のプライベート フィールドにアクセスすることは可能ですが、通常の方法はパブリック API を使用することです。

イベントのフィールドsourceとテーブルのcolumnFootersVisibleフィールドの両方に、適切なパブリック アクセサー ( getSourceisFooterVisible ) があります。したがって、次の方法を使用できます。

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

なんらかの理由で、プライベート フィールドに直接アクセスしたい場合は、次の質問を確認してください。

Javaでリフレクションを介してプライベートフィールドにアクセスすることは可能ですか?

于 2013-07-16T08:25:11.977 に答える