Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

アプレットについて

このプログラムなんですが、家のパソコンではコンパイルできたのですが、今日他のパソコンでコンパイルしたらエラーになりました。
以下のプログラムなんですが、

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

  public class testapplet extends Applet implements ActionListener{

   //ボタンとラベルの作成

   Button bu = new Button("クリックしてください");
   Label la = new Label();

   public void init(){

   //アプレットの背景色を指定
     setBackground(new Color(127, 145, 205));
       
  //レイアウトの指定

     setLayout(null);

   add(bu);
   add(la);

   //ボタンとラベルの位置を指定

    bu.setBounds(20,10,150,20);
    la.setBounds(20,40,200,20);

    bu.addActionListener(this);
  }



  public void actionPerformed(ActionEvent e){

    if(e.getSource() == bu){

     la.setText("テストアプレット");
     

           }
      }

   }

エラー内容は以下のようになりました。


C:\java\narita>javac testapplet.java
.\Color.java:5: Color はコンパイル単位で定義されています。
import java.awt.Color;
^
testapplet.java:15: シンボルを解決できません。
シンボル: コンストラクタ Color (int,int,int)
場所    : Color の クラス
     setBackground(new Color(127, 145, 205));
                   ^
.\Color.java:26: シンボルを解決できません。
シンボル: コンストラクタ Color (int,int,int)
場所    : Color の クラス
    setBackground(new Color(16, 245, 225));
                  ^
.\Color.java:63: シンボルを解決できません。
シンボル: コンストラクタ Color (int,int,int)
場所    : Color の クラス
       Color c = new Color(x,y,z);
                 ^
.\Color.java:64: java.awt.Component の setBackground(java.awt.Color) は (Color)
に適用できません。
        setBackground(c);
        ^
エラー 5 個

そこでいろいろ考えて以下のようにしたらコンパイルできました。


import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Color.;
  public class testapplet extends Applet implements ActionListener{

   //ボタンとラベルの作成

   Button bu = new Button("クリックしてください");
   Label la = new Label();

   public void init(){

   //アプレットの背景色を指定
     setBackground(new Color(127, 145, 205));
       
  //レイアウトの指定

     setLayout(null);

   add(bu);
   add(la);

   //ボタンとラベルの位置を指定

    bu.setBounds(20,10,150,20);
    la.setBounds(20,40,200,20);

    bu.addActionListener(this);
  }


  public void actionPerformed(ActionEvent e){

    if(e.getSource() == bu){

     la.setText("テストアプレット");
     

           }
      }

   }

つまり
Colorクラスをインポートしたのですが、普通は既に

import java.awt.*;
でawtパッケージをインポートしているので

import java.awt.Color.;
は必要ないと思うのですが、なぜコンパイルエラーになるのか分かりません。

ちなみにエラーになるほうのバージョンは
1.4.2_05です。

アドバイスお願いします。

2

回答

80458

閲覧

2件の回答

評価

0

>.\Color.java:5: Color はコンパイル単位で定義されています。

これ見ると多分、エラーのでるパソコンのコンパイルしているフォルダにColor.javaとかColor.classがあるんじゃないかな・・

評価

0

tamaさんありがとうございます。
確かにColor.javaがありました。
それが原因だったみたいです
でも、ただそれだけで安心しました。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。