• 締切済み

eclipseについて

シリアライズ可能クラス English は long 型の static final serialVersionUID フィールドを 宣言していません。 というエラーが消えません。どうすればいいですか? プログラム public class English extends JFrame implements ActionListener{ static JFrame window; Container c=getContentPane(); JButton word=new JButton(); JButton example=new JButton(); JButton list=new JButton(); JButton ret=new JButton(); JButton ret2=new JButton(); // main method_______________________________ public static void main(String[] args) { window = new English(); window.show(); } ついでに メソッド show() は型 Window で使用すべきではありません。 というエラーもでるのですが、解決方法を教えてください。

みんなの回答

noname#49664
noname#49664
回答No.3

Eclipseを使っているのですよね? でしたら、何か問題があると、エディタの左端のところに「!」マークのついたアイコンが表示されると思います。これを左クリックすると、問題のある場所に、問題の解決方法が一覧でポップアップ表示されます。ここから、対処方法を選べば、自動的に処理してくれますよ。 たとえば、「シリアライズ可能クラス English は long 型の static final serialVersionUID フィールドを宣言していません」というのならば、!マークのアイコン(クラスの定義であるpublic class・・・の行の左端にあるはずです)をクリックすると、いくつかの項目がポップアップします。そこから一番上の「デフォルト・シリアルバージョンIDの追加」というのを選ぶと、自動的にprivate static final long serialVersionUID = 1L;というのがソースコードに追加され、警告が消えます。 Eclipseでエラーや警告が出たら、まずこの「!」マークのアイコンをクリックしてみてください。現れたポップアップを使ってたいていは問題解決できます。

  • bnosuke-x
  • ベストアンサー率39% (43/110)
回答No.2

showの代わりにsetVisibleを使います。

  • bnosuke-x
  • ベストアンサー率39% (43/110)
回答No.1

私も詳しくはわからないのですが、 static final long serialVersionUID = 1L; などのように値を設定してあげると警告が消えました。 必須ではないので、警告だったかと記憶しています。 無くても動作しますが、「設定することを強くお勧めします」とドキュメントに書いてあります。 java.io.Serializableというインターフェイスが関係しています。 showメソッドは、使用することが推奨されていないメソッドです。 「昔使っていたけれど、将来廃止するからこれから作るプログラムでは使わないようにしてください」という意味で警告になっています。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/Window.html#show() も参照してください。 おそらくそのプログラムは古い本のものなのでしょう。

program11
質問者

補足

// main method_______________________________ public static void main(String[] args) { JFrame window = new English(); window.show(); } //__________ このメソッドをどうすればいいのですか?勉強不足で申し訳ありません。

関連するQ&A