-1

最近、次のコード例を見ました。

f.setExtendedState( f.getExtendedState()|JFrame.MAXIMIZED_BOTH );

ここで、f は JFrame です。このパイプ演算子はどのように呼び出され、何を行い、それに関するドキュメントはどこにありますか?

ヘクターありがとう

4

4 に答える 4

2

その「パイプ」は、実際にはビットごとの包括的論理和です。f.getExtendedState() と JFrame.MAXIMIZED_BOTH は、おそらくビットフィールドの数値インデックスです。「or」演算子を使用すると、両方のプロパティが 1 つの値に結合されます。

于 2013-07-03T16:54:34.390 に答える
0

この|演算子は、Javaのビットごとの OR 演算子です。

ビットごとの OR の結果は、対応するビットがオペランドのいずれか (または両方) に設定されている場合、ビットが設定された値になります。

ここで、この操作はJFrame.MAXIMIZED_BOTH(バイナリで0000 0110) の値を使用して、最後から 2 番目と最後から 3 番目のビットが確実にオンになるようにします。1 つは水平用、もう 1 つは垂直用です。これにより、他のすべてのビットはf.getExtendedState()そのまま残ります。

于 2013-07-03T16:52:53.940 に答える
0

| | ビットごとの包括的 OR 演算子を表します。詳細はこちらをご確認ください:

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html

于 2013-07-03T16:53:18.163 に答える