私はあなたが持っている場所を解決するためにこの問題を抱えておりJPanel
、ドラッグアンドドロップでクローンを作成し、ドロップされた場所にクローンを作成するJLabel
必要があります。最初に聞きたいのは、リスナーのような匿名クラスにインターフェイスを実装できるかどうかです。そのため、を拡張して実装する独自のクラスを作成する必要はありません。「テキスト」プロパティを転送してにドラッグアンドドロップする方法は知っていますが、にクローンする方法がわかりません。JLabel
JLabel
JPanel
JLabel
Cloneable
JLabel
JLabel
Cloneable
JLabel
JTextField
JLabel
JPanel
質問する
431 次
1 に答える
1
このコンテキストでは、インターフェースを実装してCloneable
も有益な効果が得られる可能性は低いです。著者は、Effective Java, Second Editionの項目 11: 慎重にクローンをオーバーライドする でオブジェクトのクローン作成の気まぐれについて概説しています。
ドラッグ アンド ドロップは、コンテナではなくデータを転送します。String
は不変であるため、 a を複製する理由はまったくありませんString
。変更可能なデータの場合は、コピー コンストラクターまたはファクトリ メソッドの方が適しています。
ユーザーが編集できないためJLabel
、可能性はありますが、DnD の予期しないターゲットになる可能性があります。または、コンテナーのメソッドを使用して実行時に適切なコンポーネントを追加し、その後にとを追加することもできます。add()
validate()
repaint()
于 2012-07-29T01:56:58.583 に答える