Java Canvasをそのコンテナから浮かび上がらせる方法
-
11-07-2019 - |
質問
Javaで書かれたシンプルなGUIコンポーネントがあります。このクラスは、java.awt.canvasでアナログ時計を描画します。
このキャンバスは、JFrameに含まれています-私がやりたいのは、キャンバスに3Dの「レイズド」を与えることです。効果-写真にドロップシャドウを追加するようなものです。
これを行う簡単な方法はありますか?
解決
JFrameを使用している場合、2つのオプションがあります:
-
最初に独自のコンポーネントをJPanelに追加してから、これをJFrameに追加します。
-
java.awt.Canvasから継承する代わりに、JComponentから継承できます。次に、paint()だけでなく、paintComponent()メソッドですべてのペイントを行う必要があります(現在のペイントメソッドの名前を変更するだけです)。
どちらの場合でも、BorderFactoryから取得できるsetBorder()メソッド(JPanelまたはコンポーネント上)で境界線を設定できるようになりました。
関連項目:ボーダーの使用方法
他のヒント
Swing要素を使用している場合、BorderFactoryのcreateRaisedBevelBorder()メソッドを使用し、キャンバスの境界線を結果の境界線に設定します。 CanvasはAWTコンポーネントであるため、ボーダーを設定できるSwingコンポーネントでラップする必要があります。
所属していません StackOverflow