質問

Javaで書かれたシンプルなGUIコンポーネントがあります。このクラスは、java.awt.canvasでアナログ時計を描画します。
このキャンバスは、JFrameに含まれています-私がやりたいのは、キャンバスに3Dの「レイズド」を与えることです。効果-写真にドロップシャドウを追加するようなものです。 これを行う簡単な方法はありますか?

役に立ちましたか?

解決

JFrameを使用している場合、2つのオプションがあります:

  1. 最初に独自のコンポーネントをJPanelに追加してから、これをJFrameに追加します。

  2. java.awt.Canvasから継承する代わりに、JComponentから継承できます。次に、paint()だけでなく、paintComponent()メソッドですべてのペイントを行う必要があります(現在のペイントメソッドの名前を変更するだけです)。

どちらの場合でも、BorderFactoryから取得できるsetBorder()メソッド(JPanelまたはコンポーネント上)で境界線を設定できるようになりました。

関連項目:ボーダーの使用方法

他のヒント

Swing要素を使用している場合、BorderFactoryのcreateRaisedBevelBorder()メソッドを使用し、キャンバスの境界線を結果の境界線に設定します。 CanvasはAWTコンポーネントであるため、ボーダーを設定できるSwingコンポーネントでラップする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top