クラスに機能を追加しようとしています。CustomList
は、JList
に拡張されています。現在、CustomListの現在のすべての使用法は、オーバーライドされていないメソッドsetModel(Listmodel<E> lm)
をJList
から呼び出します。私は古いバージョンのJava、Java 1.6に取り残されています。これは、消去の問題のためにこのメソッドを直接オーバーライドすることはできません。私の研究では、このメソッドの名前を変更して、現在のすべての用途を新しく名前を付けたメソッドに置き換える必要があるという結論に至りました。Java APIのメソッドをローカルプロジェクトで非推奨と宣言するにはどうすればよいですか?
ではなく、CustomList
でこのメソッドを呼び出す必要があると警告します。自分のプロジェクトのネイティブメソッドをローカルで非推奨にする方法がわかりません。私の新しい方法を概説
簡単な例を以下に示します。
public class CustomList<E> extends JList {
private ArrayList list;
public void newSetModel (ListModel<E> lm){
super.setModel(lm);
list = new ArrayList<Boolean> (lm.getSize());
}
}
が、私はそこ
"これは消去の問題のためにこのメソッドを直接オーバーライドできません"。私はこれについて聞いていない。あなたはそれが不可能であると確信していますか? – Michael
クラスの宣言をpublicクラスに変更することを除いて、私が読んで試みたすべてがコンパイルの問題を作成しました。CustomListはJList を拡張しますが、この宣言はJava 1.6では使用できません。私は個人的には100%ではありません。それは不可能であり、そうでなければ実証されたいと思っています。オーバーライドが最適な解決策であり、私の元の質問の必要性を完全に取り除くでしょう。 –
Maverick
'public void setModel(ListModel lm)'の何が問題なのですか(パラメータリストからを削除しますか?) –
Michael