0

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

4

2 に答える 2

2

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

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

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

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

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

于 2008-10-14T00:46:02.070 に答える
0

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

于 2008-10-14T00:44:41.090 に答える