1

dateField があり、dateField のさまざまなサブセクション (日付、月、年など) をカーソルで反復処理すると、デフォルトでフォーカスの色は青になります。dateField のフォーカスを外すと、選択された項目のハイライトが白くなります。私のテキストが黒の背景に白であることを除いて、これは問題ありません。これにより、サブフィールドの 1 つが白い長方形のように見える日付フィールドがあるため、見栄えが悪くなります。

青/白のハイライトを解決する背景の黒をペイントしようとしましたが、ハイライトをまったく提供しないことで解決しました。そのため、いつフィールドに焦点を合わせているかわかりません。

dateField のサブパーツのハイライト色をオーバーライドする方法はありますか?

4

1 に答える 1

1

最終的に回避策を見つけました。白を描画しようとするたびに黒に変更し、再びハイライトするときに通常の青をリセットします。

public void paint(Graphics g)
        {   
            if(g.getBackgroundColor() == Color.WHITE) { 
                g.setBackgroundColor(Color.BLACK);
                g.clear();
                g.setBackgroundColor(Color.BLUE);
            }
            g.setColor(Color.WHITE - HistoricalBottomBar.BG_COLOR);
            super.paint(g);
        }
于 2010-08-11T14:13:07.933 に答える