[解決済み】super.paintComponent(g)は何をするのですか?
質問
とは何ですか?
super.paintComponent(g)
はどうすればいいのでしょうか(特にpaintComponent()メソッド内に配置した場合)?今までSOでこの質問をする人を見かけなかったので驚いています。
Java Graphicsの学校のノートを掘り出してみると、このコードの行について唯一書かれているのが
"do not delete"
.
しかし、私はここ数週間、JavaのpaintComponent()メソッドについて練習し、縛り付けています。これまでのところ、私はその行を私のコードに含めていませんし、すべてが(これまでのところ)うまくいっているようです。だから...
質問です。
- どのような機能ですか?
- どんな時に使うの?
- paintComponent()に記述することで、どのような利点があるのでしょうか?
どのように解決するのですか?
<ブロッククオート- 何をするのですか?
をオーバーライドしていないかのように、コンポーネントを表示します。
paintComponent
メソッドを使用します。例えば背景色を設定している場合、これは通常、拡張しているクラスによって描画されます。
- どんな時に使うの?
コンポーネント全体にペイントしない場合に使用します。塗らない部分は"shine through"つまり、その部分はスーパークラスで塗らせるようにします。例えば、背景色の例のように。例えば背景色の例のように、コンポーネントの真ん中に丸を描くだけでは
super.paintComponent
は、背景色が円の周りに塗られることを確認します。
もし、あなたが する コンポーネントの領域全体をペイントすると、super.paintComponent がペイントするものの上にペイントすることになり、super.paintComponent を呼び出す意味がありません。
- paintComponent()に記述することで、どのような利点があるのでしょうか?
論理的にはそこしかないでしょう。
paintComponent
は、コンポーネントを描画すべきときに呼び出されます。前述のように、コンポーネント全体を自分で描画しない場合は
super.paintComponent
を使い、透ける部分にペイントする。
ドキュメント
の
paintComponent
にはよく書いてありますね。
[つまり、このコンポーネントが不透明である場合、背景を完全に不透明でない色で塗りつぶす必要があります。opaque プロパティに従わない場合、視覚的なアーチファクトが発生する可能性があります。
関連
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] JavaBeanとは何ですか?
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
-
[解決済み] ランダムな文字列を使用するこのコードは、なぜ "hello world" と表示されるのですか?
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] シンクロナイズド」とはどういう意味ですか?
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] if / for / while 内で "Missing return statement" が発生する。
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み] hibernate のプロパティが見つかりません。
-
[解決済み】java 'jar'が内部コマンドまたは外部コマンドとして認識されない。
-
[解決済み】Javaメソッドスタブ
-
[解決済み】Java LinkedListでNodesを使用する
-
[解決済み] [Solved] java.lang.NoClassDefFoundError: クラスXXXを初期化できませんでした。
-
[解決済み] Hide Utility Class Constructor : ユーティリティクラスはパブリックまたはデフォルトコンストラクタを持つべきではありません。